首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >绕过键盘、鼠标输入,让SendInput通过

绕过键盘、鼠标输入,让SendInput通过
EN

Stack Overflow用户
提问于 2009-11-28 03:41:43
回答 2查看 1.7K关注 0票数 1

我正在制作一个程序的用户可定义的关键宏。(这些宏仅限于该程序。)

我正在使用TApplicationEvents记录关键消息。然后使用SendInput回放它们。但我需要禁用鼠标和键盘,这样它就不会中断播放。

我不能使用JournalPlaybackProc和JournalRecordProc,因为它们在Vista和Win7中受到UAC,UIPI的限制。

有没有一种简单的方法可以阻止鼠标和键盘输入,同时仍然使用SendInput。(一种不需要更高权限的方式。)

另外,我需要一个停止播放的退出键。

编辑: TControl.Perform无法工作,因为它忽略了热键。

我想过在WM_KEY消息中使用保留的半字节(25-28位),但在windows文档中它说它是保留的,不使用。可能的后果是什么。

EN

回答 2

Stack Overflow用户

发布于 2009-11-28 04:57:10

如果您希望“人工输入”仅限于您自己的应用程序,我不会使用SendInput。如果您使用TApplicationEvents.OnMessage录制消息,我会在回放宏时添加一个“If not(PlayingBack) then”检查OnMessage并使用Form1。playing

票数 3
EN

Stack Overflow用户

发布于 2009-11-28 15:06:56

我一直使用AutoIT的动态链接库来发送KeyStrokes以及阻止键盘和鼠标。

有一件事,那就是AutoIT不能阻止Ctrl+Alt+Del密钥。

Do check it out

HTH

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1810390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档