C#模拟按键

时间:2011-09-05 12:09:26

标签: c# sendkeys bsod

我正在寻找一种方法来模拟在C#中按下正确的 Ctrl 键,它必须是正确的。我知道这可以为左边的一个做,但我找不到合适的东西。这样我就可以模拟手动触发的按键按键。

由于

3 个答案:

答案 0 :(得分:14)

您可以使用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); 

其他关键模拟here is virtual key codes list

答案 1 :(得分:3)

您可能对Windows输入模拟器http://inputsimulator.codeplex.com/

感到满意

答案 2 :(得分:1)

如果您使用AutoHotKey,请尝试查看here。与{RControl}你应该得到你想要的东西

更新:对于.NET,请尝试查看this以获取更多信息,但是AFAIK无法发送右 Ctrl 键。猜你必须使用win32才能完成它