3

我一直在寻找一种Ctrl在 C# 中模拟按下右键的方法,它必须是正确的。我知道这可以为左侧完成,但我在右侧找不到任何东西。这样我就可以模拟手动触发的 bsod 的按键。

谢谢

4

3 回答 3

16

您可以使用keybd_event事件来模拟右键Ctrl按下。

[DllImport("user32.dll", SetLastError = true)]
static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo); 

public const int KEYEVENTF_EXTENDEDKEY = 0x0001; //Key down flag
public const int KEYEVENTF_KEYUP = 0x0002; //Key up flag
public const int VK_RCONTROL = 0xA3; //Right Control key code

用法:

keybd_event(VK_RCONTROL, 0, KEYEVENTF_EXTENDEDKEY, 0);
keybd_event(VK_RCONTROL, 0, KEYEVENTF_KEYUP, 0); 

对于其他按键模拟,这里是虚拟按键代码列表

于 2011-09-05T12:22:59.530 回答
3

您可能对 Windows 输入模拟器http://inputsimulator.codeplex.com/有一些运气

于 2011-09-05T12:53:52.943 回答
1

如果你正在使用 AutoHotKey 试试看这里。和{RControl}你应该得到你想要的

更新:对于.NET,请尝试查看以获取更多信息,但 AFAIK 您无法发送正确的Ctrl密钥。猜你必须使用win32来完成它

于 2011-09-05T12:32:04.897 回答