上货精灵+改价精灵原创作者,旺宝软件官网www.58wangbao.com首席设计师!VX:xtfnpgy

作者有十多年的软件开发经验,长期致力于电商软件的开发,目前推出的两款软件【拼多多改价精灵】、【拼多多上货精灵】已经成为千万卖家开店必备的工具,有效解决了拼上拼、出单利润问题! 一手原创软件,请认准作者微信xtfnpgy,切勿上当受骗!

博客园 首页 新随笔 联系 订阅 管理

一、C#中SendKeys的用法


功能:将一个或多个按键消息发送到活动窗口,就如同在键盘上进行输入一样。

语法: SendKeys.Send(string keys);

     SendKeys.SendWait(string keys);

说明:

(1)发送字符串

    SendKeys.SendWait("A"); //发送字母A

   SendKeys.SendWait("ABC"); //发送字符串ABC

    SendKeys.SendWait("输入汉字"); //发送输入汉字

(2)模拟发送+、^、%、~及圆括号 ( ) ,要将它放在大括号 ({}) 当中。

   SendKeys.SendWait("{+}");  //发送加号

(3)模拟发送那些不显示的字符,也要将它放在大括号 ({}) 当中。

   SendKeys.SendWait("{Enter}");  //发送回车   

   SendKeys.SendWait("{TAB}");  //发送TAB

   SenKeys.SendWait("{END}"); //发送END
   SenKeys.SendWait("{F5}"); //发送F5

(4)模拟发送 SHIFT、CTRL 及 ALT 等按键结合的组合键:

按键 代码
Shift +
Ctrl ^
Alt %
      SenKeys.SendWait("^c"); //发送Ctrl+C ,必须是小写!C#区分大小写的,下同

  SendKeys.SendWait("v"); //发送Ctrl+v 

  SendKeys.SendWait("{A 10}");  //模拟10次按下字母A   

二、C#中Keybd_event的用法

语法:

 [DllImport("user32.dll",EntryPoint="keybd_event",SetLastError=true)]
 public static extern void keybd_event(byte bVk,byte bScan,int dwFlags,int dwExtraInfo);


从上述原型可以看出,Keybd_event()共有四个参数:

第一个为按键的虚拟键值,建议统一用(byte)Keys.*形式,便于记忆

    例如:A (byte)Keys.A,Tab (byte)Keys.Tab
第二个参数为扫描码,一般不用设置,用0代替就行;

第三个参数为选项标志,如果为keydown则置0即可,如果为keyup则设成"KEYEVENTF_KEYUP" 或是 "0x2"或是2,建议用0按下、2弹起简单;

第四个参数一般也是置0即可。

    keybd_event((byte)Keys.A,0,0,0);  //按下A
    keybd_event((byte)Keys.A,0,2,0);  //弹起A

    keybd_event((byte)Keys.Enter,0,0,0);  //模拟按下回车

    //模拟Ctrl+V:
     //keybd_event((byte)Keys.ControlKey,0,0,0);//按下
      //keybd_event((byte)Keys.V,0,0,0);//按下
      //keybd_event((byte)Keys.V,0,2,0);//弹起
      //keybd_event((byte)Keys.ControlKey,0,2,0);//弹起

    keybd_event((byte)Keys.A,0,0,0);  //模拟按下A
   SenKeys.SendWait("{END}"); //发送END
posted on 2014-10-27 18:35  weixin_xtfnpgy  阅读(640)  评论(0编辑  收藏  举报