- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一款游戏正在运行,我正试图在游戏中显示一个叠加层;用户可以在其中输入他的详细信息。这里的问题是用户输入的击键可用于游戏源,我想将击键限制为仅覆盖。
我正在使用 native c++ dll 来显示使用 CEF 呈现内容的叠加层。
有没有什么方法可以安全地做这件事,这样用户的详细信息就不会暴露给任何其他程序/进程。
非常感谢任何帮助。
最佳答案
您可以尝试使用 SetWindowHookEx .通过这种方式,您可以 Hook 所有发送到进程的键盘消息并完全停止传递它们(例如,在您自己的应用程序中处理它们而无需关注)。这是一种非常稳健的方式,但某些复制保护可能不喜欢它。
正常的步骤是:
创建一个 DLL(一定是因为您需要将它加载到另一个进程/地址空间)来挂接 Windows 消息并进行第一次过滤。通常你使用一些 IPC 机制来获得你自己进程的形成。如果您只 Hook 鼠标消息,则可以使用 Windows 消息将信息发送到您自己的一条隐藏消息。如果您不希望消息到达,您可以在那里停止链。
当 IPC 调用到达您自己的窗口时;处理它就像您自己收到键盘消息一样。尝试注意焦点等。
您唯一无法通过这种方式捕捉到的是您尝试更改的应用程序行为是否依赖于 GetAsyncKeyState。 ().在这种情况下,您唯一的选择是将您的 DLL 注入(inject)其他地址空间并 Hook 调用本身,但这是更高级别的黑客攻击。
忠告:开发windows hooking软件时:常存,常存!如果你犯了一个错误,你可能会一下子让一大堆应用程序崩溃......
关于c++ - 将键盘敲击限制为单个进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10094817/
我刚刚被甩了,大时间。我必须检测“手机何时点击 NFC 标签并将 NFC 标签号和“手机的 IMEI”传输到网络服务器。 从功能上讲,这听起来相当基本,但我唯一的前端经验是一些 AngularJs(我
我有以下代码用于从我的 Swift 应用程序在 Instagram 上分享图片:@IBAction func instagramShareButton(发件人:AnyObject){ let
我是一名优秀的程序员,十分优秀!