C#驱动级模拟按键操作

2013-09-26 03:17 ·Ab叔 3093 5 <- 点击左侧的数字“攒”一个吧

昨天遇到一个程序自动输入财付通密码的任务。

因为财付通密码控件是有安全保护的,所以不能通过传统的Keybd_event来操作。

网上找了很多资料,终于找到winio.dll这个端口操作驱动程序组件来解决这个难题。

首先是需要用C#封装winio.dll,让它变得更加好用。

我这里已经封装好了SupKey.dll

  1. 注意,我的环境是win2003 32位,63位或者其他版本的时候可能需要下载对应的winio.dll。
  2. 注意,每次发送一次键盘事件需要等待一小段时间。

然后就是实际环境下测试了。

首先SendWinio来加载驱动,记得结束后EndWinio来卸载。

	var supKey = new SupKey.SupKey();
	supKey.SendWinio();                     //加载
	supKey.MykeyDown(SupKey.SupKey.VkA);    //输入a
	supKey.MykeyDown(SupKey.SupKey.VkB);    //输入b
	supKey.MykeyDown(SupKey.SupKey.VkC);    //输入c
	supKey.MykeyDown(SupKey.SupKey.VkD);    //输入d
	supKey.MykeyDown(SupKey.SupKey.VkNum0); //输入0
	supKey.MykeyDown(SupKey.SupKey.VkNum1); //输入1
	supKey.MykeyDown(SupKey.SupKey.VkNum2); //输入2
	supKey.MykeyDown(SupKey.SupKey.VkNum3); //输入3
	supKey.EndWinio();                      //卸载

下载源代码