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

 
HIDDEN >> :

그리고 마우스 오른쪽 버튼에서 열리는 메뉴를 가로채는 방법. 터미널에서 다른 프로그램으로 전환하면 메뉴가 사라지고 단순히 감지되지 않습니다. 어떻게든 프로그램을 중지해야 합니까?

상황에 맞는 메뉴에서 많은 항목에 WM_COMMAND에 대한 코드가 있습니다.

 
HIDDEN >> :

그리고 마우스 오른쪽 버튼에서 열리는 메뉴를 가로채는 방법. 터미널에서 다른 프로그램으로 전환하면 메뉴가 사라지고 단순히 감지되지 않습니다. 어떻게든 프로그램을 중지해야 합니까?

Spy++ 유틸리티를 사용할 때는 문제가 없습니다.

프로그램의 창 목록에서 필요한 창을 선택하십시오. Windows 메시지 인터셉터를 시작합니다(Spy -> Messages...).

표시되는 창에서 메시지 필터를 구성합니다(메시지 탭).


그 후, 연구 중인 프로그램에서 마우스 오른쪽 버튼을 클릭하고 유틸리티가 표시하는 것을 확인하여 메뉴를 불러오는 등 다양한 작업을 수행할 수 있습니다.

 
Ilnur >> :

Spy++ 유틸리티를 사용할 때는 문제가 없습니다.

프로그램의 창 목록에서 필요한 창을 선택하십시오. Windows 메시지 인터셉터를 시작합니다(Spy -> Messages...).

표시되는 창에서 메시지 필터를 구성합니다(메시지 탭).


그 후, 연구 중인 프로그램에서 마우스 오른쪽 버튼을 클릭하고 유틸리티가 표시하는 것을 확인하여 메뉴를 불러오는 등 다양한 작업을 수행할 수 있습니다.

작성을 위한 질문입니다. 여기에 작성한 모든 것에 대해 훌륭한 지식이 있다면 테스터를 자동으로 실행하고, 최적화하고, 필요한 변수를 대체하는 등의 작업을 수행하는 것이 어떻습니까?

 

프로그래밍 방식으로 Enter 키를 누르는 방법

뭔가 작동하지 않습니다.

입력하다 DOM_VK_ENTER 열셋 0x0D
 
HIDDEN >> :

작성을 위한 질문입니다. 여기에 작성한 모든 것에 대해 훌륭한 지식이 있다면 자동으로 테스터를 실행하고, 최적화하고, 필요한 변수를 대체하는 등의 작업을 수행하지 않겠습니까?

나는 여기에서 언급한 모든 것에 대해 많은 지식을 갖고 있지 않습니다. 나는 이것을 주장한 적이 없다.


테스터의 소프트웨어 제어에는 관심이 없었습니다. 따라서 아직 이와 같은 것을 구현하려는 욕구는 없습니다.

이 스레드는 WinAPI 기능 사용에 대한 몇 가지 기술적인 질문이 있어서 참여하기로 결정했습니다.

 
   Print ( "Запуск тестера стратегий" ) ;
   string sButtonStartName = "" ;
   while ( ! IsStopped ( ) ) 
   {
       Sleep ( 3000 ) ;
      GetWindowTextA ( hButtonStart , sButtonStartName , 6 ) ; //считываем текст кнопки запуска тестера
       if ( sButtonStartName = = "Старт" )                     
       {
         Print ( "Работа тестера завершена" ) ;
         break ;
       }
   }

필요한

문자열 sButtonStartName = " " ;

최소 길이 6(StringLen("Start")+1), 바람직하게는 255자 길이로 초기화하십시오.

그렇지 않으면 GetWindowTextA 에서 sButtonStartName을 반환한 후 인접한 메모리 변수가 쓰레기로 덮여 있습니다.

다음 분기 에 RestoreScripts가 있는 내 예에서 이것이 완료되지 않으면 #define으로 정의된 행의 값이 변경됩니다.

 
Erics >> :

필요한

문자열 sButtonStartName = " " ;

최소 길이 6(StringLen("Start")+1), 바람직하게는 255자 길이로 초기화하십시오.

그렇지 않으면 GetWindowTextA에서 sButtonStartName을 반환한 후 인접 메모리 변수가 쓰레기로 덮여 있습니다.

다음 분기 에 RestoreScripts가 있는 내 예에서 이것이 완료되지 않으면 #define으로 정의된 행의 값이 변경됩니다.

예 모든 것이 맞습니다. 급하게 글을 쓰다 이 순간을 놓쳤다.

 
Ilnur >> :

이 스레드는 WinAPI 기능 사용에 대한 몇 가지 기술적인 질문이 있어서 참여하기로 결정했습니다.

흥미로운 창을 찾았습니다. 그 안에서 아무것도 잡는 것은 거의 불가능합니다. 이 창은 "다른 이름으로 저장"이라고 합니다. "저장" 버튼을 클릭하는 방법



구체적으로 저장 버튼을 선택하면 버튼 코드가 00000001이 됩니다.



그러나 이 코드를 사용하여 액세스하면 아무 일도 일어나지 않습니다. 이 이름없는 창은 무엇입니까?

 
HIDDEN >> :

흥미로운 창을 찾았습니다. 그 안에서 아무것도 잡는 것은 거의 불가능합니다. 이 창은 "다른 이름으로 저장"이라고 합니다. "저장" 버튼을 클릭하는 방법을 알려주세요


구체적으로 저장 버튼을 선택하면 버튼 코드가 00000001이 됩니다.


그러나 이 코드를 사용하여 액세스하면 아무 일도 일어나지 않습니다. 이 이름없는 창은 무엇입니까?

대화 상자 표준 Shell IIANM. 그리고 "저장" 버튼은 ID_OK 버튼으로 이름이 바뀌었습니다.

 
TheXpert >> :

대화 상자 표준 Shell IIANM. 그리고 "저장" 버튼은 ID_OK 버튼으로 이름이 바뀌었습니다.

확인 버튼을 눌러도 아무 작업도 수행되지 않습니다.


PostMessageA(GetDlgItem(hTerminal,0x53),WM_COMMAND,IDOK,0);