我正在为程序创建用户可定义的关键宏。 (那些宏仅限于该程序。)
我正在使用TApplicationEvents来记录关键信息。然后使用SendInput播放它们。但我需要禁用鼠标和键盘,这样就不会中断播放。
我无法使用JournalPlaybackProc和JournalRecordProc,因为它们受Vista和Win7中的UAC,UIPI约束。
是否有一种简单的方法可以在使用SendInput时阻止鼠标和键盘输入。 (一种不需要提高特权的方式。)
另外我需要一个停止播放的转义键。
编辑: TControl.Perform无效,因为它忽略了热键。
我想在WM_KEY消息中使用保留的半字节(位25-28),但是在Windows文档中它表示它是保留的并且不使用。可能是什么后果。
答案 0 :(得分:3)
如果您希望“人工输入”仅限于您自己的应用程序,我不会使用SendInput。如果您使用TApplicationEvents.OnMessage来记录消息,我会添加一个'if not(PlayingBack)然后'在回放宏时检查OnMessage并使用Form1.Perform
答案 1 :(得分:1)