버튼 및 마우스 클릭을 가로채는 자동화. - 페이지 2

 
Avals >> :

동일한 라이브러리에서 사용할 수 있는 "int GetLastKeyLP()" 및 "int GetLastMouseLP()" 함수가 도움이 될 것입니다. 그리고 그 결과를 함수 int SendMessageA ( int hWnd , int Msg , int wParam , int lParam ) ; int PostMessageA ( int hWnd , int 메시지 , int wParam , int lParam ) ;

나에게 터미널에서 전화가 계속해서 떨어집니다.


int hwnd = WindowHandle(Symbol(),Period());
SendMessageA(hwnd, WM_COMMAND, 514, 0);


그리고


int hwnd = WindowHandle(Symbol(),Period());
PostMessageA(hwnd, WM_COMMAND, 514, 0);


스크립트가 실행 중이지만 도구 모음에서 전략 테스터 버튼을 클릭하면 이 코드가 표시됩니다.


2008.11.14 15:26:58 shablo EURUSD,주간: EURUSD에서 마우스 코드=513,주간 창

 

514 뭐야?

 #import "user32.dll"
   int GetParent ( int hWnd ) ;
   int PostMessageA ( int hWnd , int Msg , int wParam , int lParam ) ;
#import
//+------------------------------------------------------------------+

   int hwnd = WindowHandle ( Symbol ( ) , NULL ) ;

   while ( ! IsStopped ( ) )   {
     hwnd = GetParent ( hwnd ) ;
     if ( hwnd = = 0 ) break ;
     int hwnd_parent = hwnd ;   }

   PostMessageA ( hwnd_parent , WM_COMMAND , 33315 , 0 )


이것과 같은 것을 시도하십시오

 
sabluk >> :

514 뭐야?


shablon 스크립트에서 반환된 코드입니다.

계속 테마, 지금 시작 버튼을 누르는 방법.

코드 누르는 방법을 정확히 알려줄 수는 없지만 이 값이 어떻게 나오는지 원리를 알고 싶습니다.

 

나는 거기에 명령 목록을 링크했다.

Winspector Spy와 같은 프로그램으로 직접 잡을 수 있습니다.

 
HIDDEN >> :

shablon 스크립트에서 반환된 코드입니다.

주제를 계속해서 이제 시작 버튼을 누르는 방법을 알아보겠습니다.

코드 누르는 방법을 정확히 알려줄 수는 없지만 이 값이 어떻게 나오는지 원리를 알고 싶습니다.

Visual Studio 배포판에 포함된 Spy++ 유틸리티를 권장합니다.

 
Ilnur >> :

Visual Studio 배포판에 포함된 Spy++ 유틸리티를 권장합니다.

나는 prog를 설치하고 그 주위를 찌르며 nifiga를 이해하지 못했습니다. 코드가 알려진 버튼을 이미 확인했는데 프로그램에 표시되지 않습니다.

아니면 내가 뭔가를 잘못하고 있습니까? 프로그램 경험이 있으신 분들은 터미널에서 버튼 코드가 어떻게 출력되는지 화면을 만들어 보세요. 그리고 설명은 작지만. 코드를 찾을 수 없습니다.


예를 들어, 다음은 프로그램을 사용하여 꺼내는 방법입니다.


33018 - "막대" 보기로 전환
33019 - "촛불" 보기로 전환
33022 - "라인" 보기로 전환

 

이렇게 스크립트를 수정했습니다.

 #import "user32.dll"
   int GetParent ( int hWnd ) ;
   int PostMessageA ( int hWnd , int Msg , int wParam , int lParam ) ;
#import
#define WM_COMMAND       0x0111
//+------------------------------------------------------------------+
int start ( )
{
   int hwnd = WindowHandle ( Symbol ( ) , NULL ) ;

   while ( ! IsStopped ( ) )   {
     hwnd = GetParent ( hwnd ) ;
     if ( hwnd = = 0 ) break ;
     int hwnd_parent = hwnd ;   }

   PostMessageA ( hwnd_parent , WM_COMMAND , 33315 , 0 ) ;
   return ( 0 ) ;
}
//+------------------------------------------------------------------+
 
해당 분기의 목록에서 33315개의 다른 코드 대신 시도하십시오.
 
sabluk >> :
해당 분기의 목록에서 33315개의 다른 코드 대신 시도하십시오.

나는 코드를 확인하는 데 관심이 없지만 이 코드를 찾는 방법에 관심이 있습니다. 테스터를 불러서 테스터의 시작 버튼을 누른 다음 버튼을 더 눌러야 합니다. 그리고 이 모든 것을 누르려면 이러한 코드를 인식하는 방법을 이해해야 합니다.


그리고 바로 알려주신 코드를 수정했습니다.

 

그 분기에서 테스터 창으로 전환하는 방법이 아직 완전히 명확하지 않다는 것입니다. 저것들. 창의 핸들을 배운 다음 tsykl을 몰아냅니다. 그러나 문제는 이 접근 방식이 그다지 좋지 않아 터미널이 자주 충돌한다는 것입니다.

사유: