Unity 代码模拟keyboard键盘输入

using System.Runtime.InteropServices;


public class MoveForward : MonoBehaviour
{
    [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
    );


    void Update()
    {
        // Debug.Log("Update");
        keybd_event(87, 0, 1, 0);// W-87  A-65  D-68  S-83
        // 模拟键盘一直输入W
    }
}

注意的是,上面的数字不能随意改,比如 87 不能改成c#中的 c# 中的KeyCode.W( = 119)。 因为对应不上键码。

附:常用模拟键的键值对照表

                                                         键盘键与虚拟键码对照表

      字母和数字键      数字小键盘的键            功能键                   其它键 
      键   键码    键   键码    键   键码     键    键码 
      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  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT外猩人

如果觉得有帮助,可以小小赞赏哦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值