我正在制作一个程序的用户可定义的关键宏。(这些宏仅限于该程序。)
我正在使用TApplicationEvents记录关键消息。然后使用SendInput回放它们。但我需要禁用鼠标和键盘,这样它就不会中断播放。
我不能使用JournalPlaybackProc和JournalRecordProc,因为它们在Vista和Win7中受到UAC,UIPI的限制。
有没有一种简单的方法可以阻止鼠标和键盘输入,同时仍然使用SendInput。(一种不需要更高权限的方式。)
另外,我需要一个停止播放的退出键。
编辑: TControl.Perform无法工作,因为它忽略了热键。
我想过在WM_KEY消息中使用保留的半字节(25-28位),但在windows文档中它说它是保留的,不使用。可能的后果是什么。
发布于 2009-11-28 04:57:10
如果您希望“人工输入”仅限于您自己的应用程序,我不会使用SendInput。如果您使用TApplicationEvents.OnMessage录制消息,我会在回放宏时添加一个“If not(PlayingBack) then”检查OnMessage并使用Form1。playing
发布于 2009-11-28 15:06:56
我一直使用AutoIT的动态链接库来发送KeyStrokes以及阻止键盘和鼠标。
有一件事,那就是AutoIT不能阻止Ctrl+Alt+Del密钥。
Do check it out。
HTH
https://stackoverflow.com/questions/1810390
复制相似问题