Unity3D技术论坛Unity技术分享

Unity3D模拟物理按键

2017-06-02  本文已影响45人  午字横

使用user32.dll在unity模拟按键的一个思路

/// <summary>
/// 键盘事件
/// </summary>
/// <param name="bVk"> virtual-key code</param>
/// <param name="bScan">hardware scan code</param>
/// <param name="dwFlags"> flags specifying various function options</param>
/// <param name="dwExtraInfo"> additional data associated with keystroke</param>
[DllImport("user32.dll")]
public static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);

bvk为虚拟键值,对应按键的ascll码十进制值。 例如回车13;
bScan设置为0;
dwFlags设置0表示按下,1表示按住,2表示抬起;
dwExtraInfo也设置为0即可。
2.调用keybd_event函数,触发键盘事件
例:
keybd_event((byte)Keys.C, 0, 0, 0);
keybd_event(99, 0, 0, 0);

键盘按键对应的ASCII码值
https://wenku.baidu.com/view/c358d6dd5022aaea998f0fec.html

本文的内容是原创的,未经作者允许禁止任何形式的转载。

上一篇 下一篇

猜你喜欢

热点阅读