[DllImport("user32.dll")]
public static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, uint dwExtraInfo);
bVk:虛擬鍵碼,對應 System.Windows.Forms.KeysdwFlags 組合:KEYEVENTF_KEYDOWN (按下)、KEYEVENTF_KEYUP (釋放)、KEYEVENTF_EXTENDEDKEY (擴充鍵)[Flags]
public enum KeyboardEvents {
None = 0x0, KeyDown = 0x1, KeyUp = 0x2
}
public static void SendKeyEvent(Keys key, KeyboardEvents events) {
if ((events & KeyboardEvents.KeyDown) == KeyboardEvents.KeyDown)
keybd_event((byte)key, 0, KEYEVENTF_KEYDOWN, 0);
if ((events & KeyboardEvents.KeyUp) == KeyboardEvents.KeyUp)
keybd_event((byte)key, 0, KEYEVENTF_KEYUP, 0);
}
SendKeyEvent(Keys.A, KeyboardEvents.KeyDown)SendKeyEvent(Keys.A, KeyboardEvents.KeyDown | KeyboardEvents.KeyUp)
使用方式:設定各手柄按鈕對應鍵盤鍵碼(點擊對應欄位按鍵盤按鍵即可),啟用模擬,最小化視窗後切換至遊戲即可用手柄操作。