【问题标题】:C# Sendkeys ALT + SHIFTC# 发送键 ALT + SHIFT
【发布时间】:2022-12-28 21:37:03
【问题描述】:

我想在 Windows 上调用切换语言选项,基本上是按 ALT + SHIFT 键 来自 C#。 我从这里阅读了答案How to start windows "run" dialog from C#

到目前为止,这是我尝试过的

//KeyboardSend.KeyDown(Keys.Alt);
//KeyboardSend.KeyDown(Keys.LShiftKey);
//KeyboardSend.KeyDown(Keys.Alt);
//KeyboardSend.KeyDown(Keys.LShiftKey);

SendKeys.Send("%+")

如果你按 ALT + SHIFT 你就会明白我想要达到的目标

【问题讨论】:

    标签: c# sendkeys


    【解决方案1】:

    这就是我解决这个问题的方法,点击我的问题的链接

    static class KeyboardSend
    {
       [DllImport("user32.dll")]
       private static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);
    
       private const int KEYEVENTF_EXTENDEDKEY = 1;
       private const int KEYEVENTF_KEYUP = 2;
    
       public static void KeyDown(Keys vKey)
       {
           keybd_event((byte)vKey, 0, KEYEVENTF_EXTENDEDKEY, 0);
       }
    
       public static void KeyUp(Keys vKey)
       {
           keybd_event((byte)vKey, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
       }
    }
    
    

    然后这样调用:

    KeyboardSend.KeyDown(Keys.LWin);
    KeyboardSend.KeyDown(Keys.R);
    KeyboardSend.KeyUp(Keys.R);
    KeyboardSend.KeyUp(Keys.LWin);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-12
      • 1970-01-01
      • 2012-07-16
      • 2013-02-13
      • 1970-01-01
      • 2016-09-30
      • 2018-06-30
      相关资源
      最近更新 更多