从 Winforms 应用程序发送全局击键/伪造全局热键
Posted
技术标签:
【中文标题】从 Winforms 应用程序发送全局击键/伪造全局热键【英文标题】:Send global keystroke / fake a global hotkey from a Winforms application 【发布时间】:2016-07-12 11:32:17 【问题描述】:对于我当前的 winforms win7 项目,我需要模拟一些全局热键按下。
我尝试使用 SendMessage 将击键直接发送到热键中的程序拦截,但这不起作用。该程序在关注/直接发送给它们时似乎不处理传入的热键。
我如何发送模拟按键以便它们被识别为全局热键?
提前致谢!
编辑:我不想为我的应用程序设置热键,我想在另一个应用程序中从我的应用程序中触发它们。所以我的应用程序会在某处发送 Keystrokes,以供其他应用程序接收。不知道发到哪里,直接发不行
【问题讨论】:
看this question 啊,不,我需要将击键发送到另一个应用程序,而不是我自己的。 当然,不起作用,它在较低级别工作,您实际上必须模拟键输入。请改用 SendInput()。 当我手动按下它们时,程序无法识别全局热键。你认为 SendInput 会起作用吗? 【参考方案1】:您可以使用 sendKeys:
SendKeys.Send("+^S");
这是 Ctrl+Shift+S
查看msdn:https://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys.send(v=vs.110).aspx
【讨论】:
以上是关于从 Winforms 应用程序发送全局击键/伪造全局热键的主要内容,如果未能解决你的问题,请参考以下文章