【问题标题】:How to detect multiple key press keyboard shortcut outside my application如何在我的应用程序之外检测多个按键键盘快捷键
【发布时间】:2023-04-02 04:09:01
【问题描述】:

我正在尝试扩展热键 CTRL+N 以便如果用户按下 CTRL+N 它会创建一个新文件,但如果他们按住 CTRL 并再次按 N,它会打开一个新的记事本实例。

这是我所得到的伪代码:

event Key_Down(CTRL)
{
   while(key_Down(CTRL)
   {
    if(Key_isPressed('N')){Ncount++;}
   }
}
event Key_UP(CTRL)
{
    do{
       if(Ncount == 1)
       {
          Create New File to Current Location
       }
       else if(Ncount == 2)
       {
          Open Notepad;
       }
       else if(Ncount >2)
       {
         Ncount=Ncount/2;
       }
    }(while Ncount>2);
 }

我不太确定如何在 C# 中表达类似的内容,但我希望这样即使程序没有焦点(即在后台、最小化、作为服务运行)也会引发这些事件/o GUI 等...)

【问题讨论】:

标签: c# winforms system keydown hotkeys


【解决方案1】:

您需要一个“键盘挂钩”。本项目将教你如何制作:http://www.codeproject.com/Articles/19004/A-Simple-C-Global-Low-Level-Keyboard-Hook

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-22
    • 1970-01-01
    • 1970-01-01
    • 2018-12-06
    • 1970-01-01
    • 2012-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多