C#中winio.dll模拟鼠标问题,很严重。大家救命啊! 本帖最后由 lxcnn 于 2010-01-02 16:37:59 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 kk.MykeyDown(112); //发送F1键按下 System.Threading.Thread.Sleep(500); kk.MykeyUp(112); //发送F1键弹起 kk.MyMouse(0x09); //发送左键按下 kk.MyMouse(0); kk.MyMouse(0x08); //发送左键释放 kk.MyMouse(0); kk.MyMouse(0); kk.MyMouse(0); 这地方一次怎么发送很几个键啊,应该分情况发送吧 public void MyMouse(int vKeyCoad) { int btScancode = 0; btScancode = MapVirtualKey((byte)vKeyCoad, 0); btScancode = vKeyCoad; KBCWait4IBE(); // '发送数据前应该先等待键盘缓冲区为空 SetPortVal(KBC_KEY_CMD, (IntPtr)0xD3, 1);// '发送键盘写入命令 //SetPortVal函数用于向端口写入数据,它的用法是SetPortVal 端口号,欲写入的数据,写入数据的长度 KBCWait4IBE(); SetPortVal(KBC_KEY_DATA, (IntPtr)btScancode, 1);// '写入按键信息,按下键 } }这里btScancode = vKeyCoad; 是不是要去掉 WINIO不支持USB设备,你用的是不是USB鼠标?换个PS2的试试看。 private void KBCWait4IBE() { int dwVal = 0; do { bool flag = GetPortVal((IntPtr)0x64, out dwVal, 1); } while ((dwVal & 0x2) > 0); } 这里只检测了64端口,要分别检测64和60端口缓存区都是否为0 10楼说的对,winio不支持USB,连按键精灵也不能支持USB的,我也在找USB鼠标模拟点击的办法。 c++里的tchar类型对应c#里的什么类型? 在vs2005自带的Sql Server删除一行数据时出现 未删除任何行 请问连续存储文件的方法对于一个格式化好的空白存储卡 用c#实现文件的上传、下载 关于VS2008自带数据库的备份与还原 ??? 能不能有一个类同时继承自collectionbase和dictionarybase ffmpeg 转码,asf格式转成mp4格式命令如何写 string问题?? C# 字符串有什么简单效率安全性高的问题 C#遍历数组效率问题。 如何设置DateTimePicker使该控件可以手动输入日期?
System.Threading.Thread.Sleep(500);
kk.MykeyUp(112); //发送F1键弹起 kk.MyMouse(0x09); //发送左键按下
kk.MyMouse(0);
kk.MyMouse(0x08); //发送左键释放
kk.MyMouse(0);
kk.MyMouse(0);
kk.MyMouse(0);
这地方一次怎么发送很几个键啊,应该分情况发送吧
{
int btScancode = 0; btScancode = MapVirtualKey((byte)vKeyCoad, 0);
btScancode = vKeyCoad; KBCWait4IBE(); // '发送数据前应该先等待键盘缓冲区为空
SetPortVal(KBC_KEY_CMD, (IntPtr)0xD3, 1);// '发送键盘写入命令
//SetPortVal函数用于向端口写入数据,它的用法是SetPortVal 端口号,欲写入的数据,写入数据的长度
KBCWait4IBE();
SetPortVal(KBC_KEY_DATA, (IntPtr)btScancode, 1);// '写入按键信息,按下键 }
}
这里btScancode = vKeyCoad; 是不是要去掉
{
int dwVal = 0;
do
{
bool flag = GetPortVal((IntPtr)0x64, out dwVal, 1);
}
while ((dwVal & 0x2) > 0);
}
这里只检测了64端口,要分别检测64和60端口缓存区都是否为0