阅读:789回复:1
锁键盘
我想做一个在开机时就锁住键盘的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] |
|
|
沙发#
发布于:2002-05-25 13:35
锁键盘?
我很久以前在DOS下干过这事,是对某个控制器的某个端口操作一下就行了,具体什么端口我忘记了。 |
|
|