trent
驱动老牛
驱动老牛
  • 注册日期2002-03-01
  • 最后登录2014-09-18
  • 粉丝0
  • 关注0
  • 积分61分
  • 威望185点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:789回复:1

锁键盘

楼主#
更多 发布于:2002-05-24 10:21
我想做一个在开机时就锁住键盘的VxD,我的想法是用一个静态加载的VxD虚拟一下键盘IRQ1
主要代码如下:
#define MY_INT 1 //需要虚拟的中断号

class MyHwInt:public VSharedHardwareInt
{
public:
MyHwInt():VSharedHardwareInt(MY_INT,0,0,0){}
BOOL OnSharedHardwareInt(VMHANDLE);

};
BOOL MyHwInt::OnSharedHardwareInt (VMHANDLE hVM)
{


dout<<\"capture int 1 now\"<<endl;
sendPhysicalEOI();
return TRUE;

 // }
  
}

BOOL Test3Device::OnDeviceInit(VMHANDLE hSysVM, PCHAR pszCmdTail)
{
pMyIRQ=new MyHwInt();

pMyIRQ=new MyHwInt();
  if(!pMyIRQ)
  {
   dout<<\"new error\"<<endl;
   return FALSE;
  }
  if(!pMyIRQ->hook())
  {
  dout<<\"hook false\"<<endl;
  }
else
dout<<\"hook ok\"<<endl;
  pMyIRQ->physicalUnmask();
  dout<<\"init test3  ok\"<<endl;
return TRUE;
}

VOID Test3Device::OnSystemExit(VMHANDLE hSysVM)
{
if(pMyIRQ)
{
delete pMyIRQ;
dout<<\"delete ok\"<<endl;
}
}

但重启以后进入保护模式时提示出错,为什么?或者谁能提供新的想法

[编辑 -  5/24/02 by  trent]
我不仅要金子,我还要点石成金的手指!
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-05-25 13:35
锁键盘?
我很久以前在DOS下干过这事,是对某个控制器的某个端口操作一下就行了,具体什么端口我忘记了。
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
游客

返回顶部