또는이 질문을 명확히하기 위해 어떻게하면 Windows에서 실제로 키를 누르지 않았다고 생각할 수 있습니까? 아마도 SendMessage를 사용하여 입력을 지정할 수 있지만 내 응용 프로그램 만 수신하지는 않을 것입니다. "가짜"입력을받는 모든 응용 프로그램의 범위를 제어하고 싶습니다. 어떤 충고?Win32에서 키보드 입력을 어떻게 조작합니까?
답변
다른 프로세스에서도 원하는 창에 SendMessage
을 입력 할 수 있습니다. HWND_BROADCAST
을 사용하여 시스템의 모든 수준 창으로 보낼 수도 있습니다. 그러나 당신이 정말로 원하는 것은 무엇입니까? 특정 프로그램에만 관심이있는 경우 FindWindow을 사용하여 창 핸들을 가져온 다음 해당 창에만 메시지를 보낼 수 있습니다.
당신이 원하는 것은 단지 다른 프로세스에 대한 간단한 키 입력 뿐이므로 SendInput
이 실제로가는 길입니다. 일부 글로벌 키보드 바로 가기를 보내려는 경우 누가 그 중점을 둡니다. SendInput
을 사용하여 동일한 입력을 여러 창에 보내려면 창 목록을 반복해야하고 각 창에 대해 먼저 포커스를 설정 한 다음 입력을 보냅니다.
입력이 현재 포커스가있는 애플리케이션에 도달 할 수 있다면 괜찮습니다. 따라서이 경우 SendInput을 사용하면 더 나은 기능을 사용할 수 있습니다. 감사! – AutoBotAM
SendInput은 가장 안전한 방법입니다. 가짜 입력에 SendInput을 사용하여 모든 종류의 예기치 않은 문제가 발생할 수 있습니다. 어떤 곳에서는 효과가있을 수 있지만 다른 사람들에게는 신비스럽게 실패합니다. (예 : 입력이 실제로 다른 창에서 처리 될 수 있거나 앱이 SendKey가 영향을 미치지 않는 GetKeyState를 사용하여 키보드 상태를 검사하거나 앱이 입력을 무시하거나 입력이 없을 때 입력을 받으면 별 행동 할 수 있음) 초점.) – BrendanMcK
- 1. SpEL에서 날짜를 어떻게 조작합니까?
- 2. Microsoft.Silverlight.Testing을 어떻게 조작합니까?
- 3. 키보드 입력을 멈추었습니까?
- 4. 키보드 입력을 완전히 차단하십시오
- 5. jqGrid의 검색/필터는 어떻게 조작합니까?
- 6. 개체에 설정된 변수를 어떻게 조작합니까?
- 7. 불변 개체 트리를 어떻게 조작합니까?
- 8. 소프트 키보드 입력을 잡는 방법
- 9. Winform에서 키보드 입력을 읽으려면 어떻게해야합니까?
- 10. Win32에서 Dialog 리소스를 어떻게 사용합니까?
- 11. Groovy/Gradle에서 아카이브 내의 파일을 어떻게 조작합니까?
- 12. VI/VIM에서 강조 표시된 텍스트를 어떻게 조작합니까?
- 13. ajax 응답에서 반환 된 html을 어떻게 조작합니까?
- 14. 이 스크립트는 어떻게 취약한 스크립트를 작성하고 조작합니까?
- 15. Opa에서 로우 레벨 어레이를 어떻게 조작합니까?
- 16. jQuery Mobile을 사용할 때 DOM을 어떻게 조작합니까?
- 17. 키보드 입력을 리눅스 명령에 전달하는 방법은 무엇입니까?
- 18. 자바를 통해 문자열에서 키보드 입력을 인식하는 방법
- 19. 라이브 방식으로 키보드 입력을 수락하는 방법은 무엇입니까?
- 20. 데이터 스트림을 누가 조작합니까?
- 21. increment_counter가 lock_version을 간접적으로 조작합니까?
- 22. jQuery-UI 슬라이더 - 키보드 입력을 비활성화하는 방법?
- 23. 리눅스에서 파이썬으로 키보드 입력을 가로 채고 보내기
- 24. 홈 메이드 OS에서 키보드 입력을 얻는 방법?
- 25. Air 응용 프로그램에서 키보드 입력을 처리하는 방법
- 26. D에서 키보드 입력을 얻는 방법은 무엇입니까?
- 27. 게임에서 마우스와 키보드 입력을 처리하기위한 다양한 옵션들
- 28. 자바 스윙에서 키보드 입력을 포함한 계산기 애플리케이션
- 29. 코드 입력을 받아들이는 키보드 드라이버 작성하기
- 30. 키보드 "쐐기"입력을 처리하는 가장 좋은 방법
SendInput()을 사용하십시오. –