本本的WIN7系统,模拟鼠标不成功,不知道为什么?

大海啊全是水 2012-02-06 03:12:20

#include <windows.h>
#include "winio.h"
#include <iostream>
using namespace std;

void KBCWait4IBE()
{
DWORD dwRegVal=0;
do
{
Sleep(1);
GetPortVal(0x64,&dwRegVal,1);
}
while(dwRegVal & 0x01); //1还是2呢?我太确定,我觉得是1,但是我看到很多其他的源码是2
}

void SetByte(unsigned char uPort, unsigned char uCode)
{
Sleep(1);
KBCWait4IBE();
SetPortVal(uPort, uCode, 1);
}

void LeftButtonDown()
{
SetByte(0x64,0xD3); SetByte(0x60,0x09);
SetByte(0x64,0xD3); SetByte(0x60,0x00);
SetByte(0x64,0xD3); SetByte(0x60,0x00);
SetByte(0x64,0xD3); SetByte(0x60,0x00);
}

void LeftButtonUp()
{
SetByte(0x64,0xD3); SetByte(0x60,0x08);
SetByte(0x64,0xD3); SetByte(0x60,0x00);
SetByte(0x64,0xD3); SetByte(0x60,0x00);
SetByte(0x64,0xD3); SetByte(0x60,0x00);
}

int wmain(int argc, wchar_t* argv)
{
if(InitializeWinIo()==false) cout << "驱动程序加载失败! " <<endl;
else{
Sleep(3000);
LeftButtonDown();
Sleep(1000);
LeftButtonUp();
//SetByte(0x64,0xD2);
//SetByte(0x60,0x1E);
ShutdownWinIo();
}
}


winio就是给64h 60h这些端口发送命令和数据,然后做驱动上的模拟鼠标 和键盘。。。 我想知道有没有什么工具可以抓 这些端口上的数据的。。我现在本本的WIN7系统 模拟鼠标不成功(模拟键盘成功),在台式机的XP下面是可以的。

我没搞过驱动什么的。希望给为兄弟姐妹帮帮忙解决解决
...全文
279 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
曹大夯 2012-02-08
  • 打赏
  • 举报
回复
1#楼问的很关键。

XP下的驱动程序在Win7 X64下是不能够直接工作的。所以,你得看看WinIO在Win7 X64下是否正常工作了没有。
大海啊全是水 2012-02-08
  • 打赏
  • 举报
回复
我查看了下我的设备管理器
键盘->PS/2标准键盘->属性->资源
在资源设置中
资源类型 设置
I/O 范围 0060 - 0060
I/O 范围 0064 - 0064
IRQ 0x00000001(1)

鼠标和其他指针设备
HID-compliant mouse
他的属性中没有资源项
Synaptics PS/2 Port TouchPad
他的属性中有资源项

资源类型 设置
IRQ 0x0000000C(12)

所以我觉得这个大概就是鼠标模拟不成功的原因吧。本本上面的不是PS/2标准鼠标,而只有一个PS/2标准的触摸板和一个光电鼠标。不像键盘那样可以通过60,64端口写数据和命令。

那么这样应该咋解决了?
大海啊全是水 2012-02-07
  • 打赏
  • 举报
回复
操作系统是64位的, 但是建的工程是32位的
woshi_ziyu 2012-02-06
  • 打赏
  • 举报
回复
WIN7 是64位还是32位系统

21,599

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧