Raymond 在博客中介绍了程序如何通过 using 获取/窃取“前景之爱” RegisterHotkey
,当被调用时,它将把前景转移到您的应用程序中。
尝试手动执行此操作会惨遭失败(例如,使用SetForegroundWindow
、SwitchToWindow
等),因为应用程序不能从用户那里窃取焦点(以便按键不会转到错误的位置)。
麻烦的是,今天我注意到了一些奇怪的事情:
我尝试安全删除外部驱动器。
有约 7 秒的停顿。
停顿的时候,我在窗内用力打字。
突然,一个消息框从我的应用程序中窃取了前景,而我的输入却进入了消息框。
显然,这没有使用热键机制——然而,Windows 能够从我的应用程序中窃取焦点。
我真的怀疑是否有类似“后门”之类的东西仅用于此特定目的(尽管如果我错了请纠正我),因此,假设不是这种情况,必须有一种方法可以正确地做到这一点,不 使用热键机制。
那么问题来了,这是如何实现的呢?
笔记:
汉斯指出“后门”是AttachInputThread
,但我并不真正相信这就是这里发生的事情——特别是因为雷蒙德说这种方法会导致挂起。想法?