如何在C#代码中模拟移位压力机?

时间:2012-08-18 21:18:42

标签: c# keyboard keycode shift

我正在使用thiis代码来模拟按键或按键:

[System.Runtime.InteropServices.DllImport("user32.dll")]
public static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, uint dwExtraInfo);
const uint KEYEVENTF_KEYUP = 0x0002;
const uint KEYEVENTF_EXTENDEDKEY = 0x0001;

// Key up
keybd_event((byte)Convert.ToInt32("A0"), 0, KEYEVENTF_KEYUP | 0, 0);

// Key down
keybd_event((byte)Convert.ToInt32("A0"), 0, KEYEVENTF_EXTENDEDKEY | 0, 0);

根据this table,左移具有键码A0。

由于某种原因,上面的代码无效。有谁知道为什么?非常感谢您的帮助! :)

2 个答案:

答案 0 :(得分:1)

如果不需要使用keycode,则可以使用KEY enumeration of System.Windows.Forms Namespace中的Keys.LShiftKey

进一步使用

keybd_event((byte)0xA0, 0x45, KEYEVENTF_KEYUP | 0, 0); 

不是一个坏主意。

答案 1 :(得分:0)

我会使用here作为密钥。

 keybd_event(160, 0, KEYEVENTF_EXTENDEDKEY | 0, 0);