使用C#发送WIN + CTRL + SHIFT + B

时间:2017-07-23 08:47:18

标签: c# windows-10 keystroke

我正在尝试模拟按键组合 Win + Ctrl + Shift + B Windows 10 使用 Visual C#2017

此组合键会重新启动视频驱动程序,我可以在手动执行时确认它是否有效,但无法使用C#进行操作。

我甚至试过http://inputsimulator.codeplex.com/这样:

InputSimulator.SimulateKeyDown(VirtualKeyCode.LWIN);
InputSimulator.SimulateKeyDown(VirtualKeyCode.LCONTROL);
InputSimulator.SimulateKeyDown(VirtualKeyCode.LSHIFT);
InputSimulator.SimulateKeyDown(VirtualKeyCode.VK_B);
InputSimulator.SimulateKeyUp(VirtualKeyCode.VK_B);
InputSimulator.SimulateKeyUp(VirtualKeyCode.LSHIFT);
InputSimulator.SimulateKeyUp(VirtualKeyCode.LCONTROL);
InputSimulator.SimulateKeyUp(VirtualKeyCode.LWIN);

并且像这样:

InputSimulator.SimulateModifiedKeyStroke(
            new[] { VirtualKeyCode.LCONTROL, VirtualKeyCode.LWIN, VirtualKeyCode.LSHIFT },
            new[] { VirtualKeyCode.VK_B }
        );

欢迎任何有关工作解决方案的帮助!

1 个答案:

答案 0 :(得分:0)

我尝试了几种组合,我想知道是否有一些命令是不允许的。

例如LWIN + VK_E可以正常打开文件资源管理器,但LWIN + VK_L可以锁定机器。尝试打开开始菜单时,LCONTROL + ESCAPE正在运行,LWIN就是这样。也许你想要做的事情被视为以这种方式处理可能“太冒险”。

顺便说一下,我还以管理员身份运行Visual Studio,以确保它不是用户权限,但这对我没有任何影响。

您可能glean something from this answer正在考虑强制视频驱动程序通过其他方法重新加载。