【问题标题】:Send global keystroke / fake a global hotkey from a Winforms application从 Winforms 应用程序发送全局击键/伪造全局热键
【发布时间】:2016-07-12 11:32:17
【问题描述】:

对于我当前的 winforms win7 项目,我需要模拟一些全局热键按下。

我尝试使用 SendMessage 将击键直接发送到热键中的程序拦截,但这不起作用。该程序在关注/直接发送给它们时似乎不处理传入的热键。

我如何发送模拟按键以便它们被识别为全局热键?

提前致谢!

编辑:我不想为我的应用程序设置热键,我想在另一个应用程序中从我的应用程序中触发它们。所以我的应用程序会在某处发送 Keystrokes,以供其他应用程序接收。不知道发到哪里,直接发不行

【问题讨论】:

  • 啊,不,我需要将击键发送到另一个应用程序,而不是我自己的。
  • 当然,不起作用,它在较低级别工作,您实际上必须模拟键输入。请改用 SendInput()。
  • 当我手动按下它们时,程序无法识别全局热键。你认为 SendInput 会起作用吗?

标签: c# winforms hotkeys


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-23
    • 1970-01-01
    • 2019-11-22
    • 2023-03-31
    • 1970-01-01
    • 2016-02-28
    • 2010-12-12
    • 2019-12-07
    相关资源
    最近更新 更多