프로그램에 사용자가 정의 할 수있는 키 매크로를 만들고 있습니다. (해당 매크로는 해당 프로그램으로 제한됩니다.)키보드, 마우스 입력을 무시하고 SendInput을 전달하십시오.
주요 메시지를 기록하는 데 TApplicationEvents를 사용하고 있습니다. 그런 다음 SendInput을 사용하여 재생합니다. 그러나 재생을 방해하지 않도록 마우스와 키보드를 비활성화해야합니다.
JournalPlaybackProc 및 JournalRecordProc은 Vista 및 Win7의 UAC, UIPI의 영향을 받기 때문에 사용할 수 없습니다.
SendInput을 사용하면서 마우스 및 키보드 입력을 차단하는 쉬운 방법이 있습니까? (높은 권한이 필요없는 방식)
또한 재생을 중지하는 하나의 이스케이프 키가 필요합니다.
편집 : TControl.Perform은 바로 가기 키를 무시하기 때문에 작동하지 않았습니다.
WM_KEY 메시지에서 예약 된 니블 (비트 25-28)을 사용하려고 생각했지만 Windows 설명서에는 예약되어있어 사용하지 않는다고되어 있습니다. 결과는 무엇 일 수 있습니다.
이것은 좋은 생각입니다. 그러나 그것은 하나의 문제를 가지고 있습니다 - 그것은 여러 형태에 걸쳐 있지 않습니다. 전의. 버튼이 새로운 양식을 열면 새로운 양식으로 무언가를합니다. 아마도 액티브 폼을 가져 와서 입력을 리디렉션하는 것이 가능할 수도 있습니다. – Egon
내가 필요한'Screen.ActiveForm'을 추가로 찾은 것 같아요 ... (내일 테스트 할게요 ...) – Egon
거의 괜찮지 만 단축키로는 좋지 않습니다 ... – Egon