0

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

[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);

根据此表,左移键码为 A0。

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

4

2 回答 2

1

如果不需要使用keycodeKeys.LShiftKey ,那么您可以使用 System.Windows.Forms Namespace的KEY 枚举

进一步使用

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

这不是一个坏主意。

于 2012-08-18T21:26:24.767 回答
0

我会在这里使用钥匙。

 keybd_event(160, 0, KEYEVENTF_EXTENDEDKEY | 0, 0);
于 2012-08-18T21:39:10.763 回答