如何在键盘记录器中注入额外的按键?

时间:2016-10-01 06:25:08

标签: winapi keyboard hook setwindowshookex

我的Win8盒子上有一个键盘记录器。没有什么可恶的:它可以执行一些有用的额外工作。实际上它是如此有用,我想在我afk时触发它的一些功能。自然AutoIt等不起作用(我已经检查过):记录器挂钩到一个低级键盘钩子(我猜),真正的键盘挂钩不是由虚拟键盘事件触发的(我相信)。

基本上我需要一个具有真实外观的按键的虚拟键盘。

(编辑:我已经删除了我自己"想法"如何解决这个问题,无论如何都很糟糕,我现在有了更多的了解)

尝试SendInput以及它为什么不起作用。

人们建议尝试SendInput。简而言之:它不起作用,因为我设法将我的pythonw.exe的完整性级别提升到高,但是"键盘记录器"在系统级别运行,如SendInput doc

中所述
  

允许应用程序仅将输入注入到应用程序中   处于相同或较低的完整性水平。

我在Python simulate keydown的评论中发现了一个非常好的python SendInput实现。
检查"完整性等级"您可以使用ProcessExplorer,查看/选择列,检查"完整性等级"。的过程 ProcessExplorer显示我的pythonw.exe,我以" Run as Admin"在IL" High",但AcrossServer,AcrossService和衍生的conhost.exe都有IL" System"。 (是的,我正在尝试将键注入非常漂亮的蓝牙键盘模拟器Across)。

下一步可能的步骤。

  1. 将我的应用的完整性级别提升到系统:
    • 使其成为Windows服务;
    • 使其成为设备(少)驱动程序;
    • 更容易吗?或
  2. 将AcrossService的完整性级别降低到(至少)高:
    • 有可能吗? 修改:控制面板/服务可以将登录帐户更改为自己。不幸的是,Accross在降低时停止工作。
  3. 在Windows上创建与Across Server等效的Python。
  4. 3号看起来最具社交用途,并且比创建专用设备驱动程序更容易:)但我是否缺少一些更简单的可能性?

0 个答案:

没有答案