首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Win32 --在不使用全局键钩子或RegisterHotKey的情况下,如何在后台捕获密钥事件?

Win32 --在不使用全局键钩子或RegisterHotKey的情况下,如何在后台捕获密钥事件?
EN

Stack Overflow用户
提问于 2022-10-02 08:45:16
回答 1查看 50关注 0票数 0

我制作了一个程序,当一个特定的键被按下时,它会截取一个游戏窗口的截图。我正在使用RegisterHotKey()。它运行良好,但有一个问题:当游戏窗口是焦点时,我的程序无法接收那个关键事件。要截图,我必须点击桌面将焦点移到桌面上,然后按那个键。只有这样,我的程序才能接收关键事件并拍摄截图。(游戏本身提供了一个游戏中的摄像头来拍摄截图,但是相机不能拍摄UI、清单等的截图,这就是我制作这个程序的原因。)

使用全局密钥钩子很容易修复,但是如果我使用全局密钥钩子,我的程序很容易被识别为恶意软件(例如,窃取密码)。通过反恶意软件,意味着我不能和其他玩家分享。(毕竟,对于那些不擅长电脑的玩家来说,让Windows维护者相信我的程序不是恶意软件是很累的。)

有没有办法抓住关键事件,但不会让我的程序被识别为恶意软件?

EN

回答 1

Stack Overflow用户

发布于 2022-10-02 08:50:35

可以使用原始输入设置全局密钥监视器。为此,需要在传递到RIDEV_INPUTSINK调用的RAWINPUTDEVICE结构中设置RegisterRawInputDevices标志。

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

https://stackoverflow.com/questions/73924490

复制
相关文章

相似问题

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