首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 遊戲手柄程式開發——API 篇(三)上:鍵盤模擬 keybd_event 基礎封裝

     編輯:關於C語言

鍵盤模擬 API

[DllImport("user32.dll")]
public static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, uint dwExtraInfo);
  • bVk:虛擬鍵碼,對應 Keys 列舉
  • dwFlags:KEYEVENTF_KEYDOWN (按下)、KEYEVENTF_EXTENDEDKEY (擴充鍵)、KEYEVENTF_KEYUP (釋放)

封裝列舉與方法

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

配合前兩篇手柄事件(KeyDown/KeyUp),即可實現手柄模擬鍵盤/滑鼠功能。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved