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

キーコードを使用する必要がない場合は、 System.Windows.Forms Namespace の KEY 列挙Keys.LShiftKeyから使用できます。

さらに使用

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 に答える