【发布时间】:2011-10-08 16:56:23
【问题描述】:
我想将击键发送到另一个应用程序。例如:我打开了一个浏览器,我想将击键写入打开的记事本应用程序,而不是针对记事本窗口。我只想让浏览器窗口一直处于活动状态。
有可能吗?
【问题讨论】:
-
如果可能的话,这听起来像是一个安全漏洞。您可以写入 cmd 窗口并重新格式化驱动器,而不是写入记事本。
我想将击键发送到另一个应用程序。例如:我打开了一个浏览器,我想将击键写入打开的记事本应用程序,而不是针对记事本窗口。我只想让浏览器窗口一直处于活动状态。
有可能吗?
【问题讨论】:
如果您使用 Windows API,您可以,但是 SendInput 是唯一可以保证正确执行此操作的,并且仅在焦点窗口上执行此操作。对于其他窗口,您可以使用SendMessage、WM_KEYUP、WM_KEYDOWN 和WM_CHAR,但它非常不可靠。应用程序执行此操作通常也是不受欢迎的行为。
【讨论】:
如果您确实是指从网络浏览器向正在运行的 Windows 应用程序发送击键,那么这不应该是可能的。
原因是网络浏览器已(或应该)从操作系统和其他正在运行的应用程序中被沙盒化,以防止不受欢迎的人通过互联网恶意干扰您的计算机。
【讨论】: