如何在C++中模拟假按键

How to simulate a fake keypress in C++

本文关键字:模拟 C++      更新时间:2023-10-16

我想做一个反键盘记录程序,我想出了一个主意,当用户在窗口中输入一些文本时,模拟一个随机的假按键。比方说,我的应用程序每次在Firefox、GoogleChrome窗口内按键时都会模拟一次假按键。

我已经尝试过SendInput,但它发送的字符是真实的(它不是假的,字符是真实打印的,这不是我想要的)。我已经有了一个一次性生成随机字符的功能,但问题是将其作为伪按键发送。

因此,目标是,如果用户感染了任何类型的键盘记录程序,键盘记录程序将只接收我发送的伪造生成的字符,而而不是用户真正录制的内容。我的项目将主要在Windows、控制台应用程序和SMFL Gui上,你有什么建议吗?

是的,您可以在Windows平台上模拟按键。

Microsoft Windows平台使用消息传递系统。按下某个键时,操作系统会向侦听任务发送一条消息,其中包含按下的键的

MSDN网站包含有关如何发送按键消息的更多详细信息。

此外,在StackOverflow上也有类似的问题。

试试这些搜索词:

  • MSDN C++按键模拟
  • MSDN C++按键消息
  • MSDN发送按键信息c++
  • StackOverflow C++按键模拟窗口

编辑1:
还有一些方法可以将侦听器连接到按键消息。例如,密钥记录器可以注册为主侦听器,接收消息,处理密钥,然后将消息转发到其他侦听器。

如果你想绕过键记录器,你必须深入研究键盘挂钩并了解它们是如何工作的。