사용자가 어떤 창을 움직이는 지 (내 응용 프로그램에 인터페이스가 없는지) 확인하고 적절히 응답하는지 확인할 것입니다. 이 일을하는 가장 좋은 방법은 무엇이라고 생각합니까? 사용자가 제목 표시 줄을 클릭하고 있는지 확인할 수 있습니까? 창 이동 여부를 결정할 수 있습니까? 나는 그것이 움직이고 있다는 것을 알게 된 후 창문을 잡아야한다.사용자가 창을 움직이고 있는지 확인하십시오.
4
A
답변
4
5
모든 창에 대한 알림을 받으려면 Windows Forms뿐 아니라 SetWindowsHookEx() API 함수에 의해 설정된 후크를 사용해야합니다. WH_CALLWNDPROC
후크가 있어야 Windows에서 창으로 보내는 WM_MOVE 메시지를 볼 수 있습니다.
불행히도, 그것은 세계적인 갈고리입니다. 후크 콜백을 구현하는 코드는 모든 대상 프로세스에 주입 할 수 있도록 DLL에 패키지화해야합니다. 이것으로 C#을 사용하려는 계획에 구멍이 생기고 CLR을 주입 할 수 없습니다. DLL은 비 관리 코드로 작성되어야합니다.
이 code project은 필요한 관리되지 않는 주사 가능한 DLL을 포함하여 접근 방식을 제공합니다.
관련 문제
- 1. 사용자가 있는지 확인하십시오 (계속 ...)
- 2. js 사용자가 연결되어 있는지 확인하십시오.
- 3. Active Directory에 사용자가 있는지 확인하십시오.
- 4. 다른 사용자가 엑셀 파일을 열려 있는지 확인하십시오.
- 5. 안드로이드에 내 앱의 처음 사용자가 있는지 확인하십시오.
- 6. 주어진 창을 현재 이동 중인지 확인하십시오.
- 7. 사용자가 App Engine XMPP를 사용하여 입력하고 있는지 확인하십시오.
- 8. DB에 역할이 있는지 확인하십시오.
- 9. 함수에 데코레이터가 있는지 확인하십시오.
- 10. jQuery를 사용하여 스페이스 바를 누른 상태에서 마우스가 동시에 움직이고 있는지 확인하십시오.
- 11. 경로가 네트워크에 있는지 확인하십시오.
- 12. 사용자가 URLConnection을 사용하여 문서에 액세스 할 수 있는지 확인하십시오.
- 13. AD 사용자가 PHP 및 adLDAP를 사용하여 차단되어 있는지 확인하십시오.
- 14. facebook connect : 사용자가 자바 스크립트로 권한이 있는지 확인하십시오.
- 15. 사용자가 피라미드 (pylons 2)에서 권한을 가지고 있는지 확인하십시오.
- 16. 사용자가 권한이 있는지 확인하십시오 (HTTP 기본 인증, Rails 3.0.9)
- 17. 개체에 포커스가 있는지 확인하십시오.
- 18. WCF 서비스가 있는지 확인하십시오.
- 19. 공백이 문자열에 있는지 확인하십시오.
- 20. 컨트롤이 화면에 있는지 확인하십시오.
- 21. [i]가 있는지 확인하십시오.
- 22. 파일이 열려 있는지 확인하십시오.
- 23. 기본 뷰어가 있는지 확인하십시오.
- 24. 목록이 있는지 확인하십시오.
- 25. 전자 메일이 있는지 확인하십시오.
- 26. 요소가 있는지 확인하십시오.
- 27. 텍스트 파일이 있는지 확인하십시오.
- 28. BSTR이 비어 있는지 확인하십시오.
- 29. ID가 데이터베이스에 있는지 확인하십시오.
- 30. 배열 색인이 있는지 확인하십시오.
그건 내가 한 번 사용했던 매끄러운 도구입니다. 이 프로젝트는 DOA 였지만, 누가 앱에 대한 감시에 대해 배울 수있는 기회를 포기해야했습니다. :-) –