Unity 模擬滑鼠及鍵盤事件

2021-09-26 22:53:07 字數 3480 閱讀 5943

在專案中遇到要模擬鍵盤事件,在網上查資料,整理了一下模擬鍵盤按鍵,順便把滑鼠事件一起整理下,以後也許用的到。

主要還是用到user32.dll。

鍵盤模擬:

鍵盤鍵與虛擬鍵碼對照表

字母和數字鍵     數字小鍵盤的鍵       功能鍵         其它鍵

鍵   鍵碼     鍵   鍵碼       鍵   鍵碼     鍵      鍵碼

a   65      0    96        f1   112     backspace    8

b   66      1   97        f2   113     tab       9

c   67 2    98        f3   114     clear      12

d   68      3   99 f4   115     enter     13

e   69      4    100 f5   116     shift      16

f   70      5    101 f6   117     control     17

g   71      6   102       f7   118      alt      18

h   72      7    103       f8   119     caps lock    20

i   73      8    104       f9   120      esc       27

j   74      9   105       f10  121     spacebar     32

k   75 *    106       f11  122     page up     33

l   76 +    107       f12  123     page down     34

m   77      enter 108       --   --      end        35

n   78 -   109       --   --       home       36

o   79      .    110       --   --       left arrow   37

p   80      /    111       --   --      up arrow     38

q   81       --   --       --   --       right arrow   39

r   82       --   --       --   --       down arrow    40

s   83       --   --       --   --       insert      45

t   84       --   --       --   --       delete      46

u   85       --   --       --   --       help       47

v   86       --   --       --   --       num lock     144

w   87          

x   88      

y   89      

z   90      

0   48      

1   49      

2   50       

3   51       

4   52       

5   53       

6   54       

7   55       

8   56       

9   57  

[dllimport("user32.dll", entrypoint = "keybd_event")]

static extern void keybd_event(

byte bvk, //虛擬鍵值 對應按鍵的ascll碼十進位制值

byte bscan, //0

int dwflags, //0 為按下,1按住,2為釋放

int dwextrainfo //0

);//模擬敲擊a鍵

private void inputa()

模擬滑鼠事件:

using system;

public class mousesimulater

#endregion

// unity螢幕座標從左下角開始,向右為x軸,向上為y軸

// windows螢幕座標從左上角開始,向右為x軸,向下為y軸

/// /// 移動滑鼠到指定位置(使用unity螢幕座標而不是windows螢幕座標)

///

public static bool moveto(float x, float y)

setcursorpos((int)x, (int)(unityengine.screen.height - y));

return true;

}// 左鍵單擊

public static void leftclick(float x = -1, float y = -1)

}// 右鍵單擊

public static void rightclick(float x = -1, float y = -1)

}// 中鍵單擊

public static void middleclick(float x = -1, float y = -1)

}// 左鍵按下

public static void leftdown(float x = -1, float y = -1)

}// 左鍵抬起

public static void leftup(float x = -1, float y = -1)

}// 右鍵按下

public static void rightdown(float x = -1, float y = -1)

}// 右鍵抬起

public static void rightup(float x = -1, float y = -1)

}// 中鍵按下

public static void middledown(float x = -1, float y = -1)

}// 中鍵抬起

public static void middleup(float x = -1, float y = -1)

}// 滾輪滾動

public static void scrollwheel(float value)

}

模擬鍵盤事件與滑鼠事件

模擬事件 title head body button id mouseeventtrigger 鍵盤模擬按鈕事件 button button id keyboardeventtrigger 按鈕模擬鍵盤事件 button body script varbtn1 document.getelemen...

C 模擬鍵盤滑鼠事件

1.模擬鍵盤事件 system.windows.forms.sendkeys 以下是 sendkeys 的一些特殊鍵 表。鍵 backspace 或 break caps lock del 或 delete 或 down arrow 下箭頭鍵 end enter 或 esc help home in...

Unity中模擬滑鼠事件

using system public class mousesimulater endregion unity螢幕座標從左下角開始,向右為x軸,向上為y軸 windows螢幕座標從左上角開始,向右為x軸,向下為y軸 移動滑鼠到指定位置 使用unity螢幕座標而不是windows螢幕座標 publi...