阅读:2525回复:5
虚拟设备已经做好了,怎么在驱动级模拟键盘按键?
虚拟设备已经做好了,怎么在驱动级模拟键盘按键?
用了 1、写端口大法 #define defI8042_DATA_PORT ((PUCHAR)0x60) #define defI8042_CTRL_PORT ((PUCHAR)0x64) #define defOBUFFER_FULL 0x01 BOOLEAN WaitForKeyboardWrite(VOID) { INT i; UCHAR c; for (i = 0; i < 1000; ++i) { KeStallExecutionProcessor(50); c = READ_PORT_UCHAR(defI8042_CTRL_PORT); if ((c & defOBUFFER_FULL) == defOBUFFER_FULL) break; } return i ? TRUE : FALSE; } VOID PressKeyByScanCode( IN CONST BYTE ScanCode ) { WRITE_PORT_UCHAR(defI8042_CTRL_PORT, 0xd2); WaitForKeyboardWrite(); WRITE_PORT_UCHAR(defI8042_DATA_PORT, ScanCode); } 用DeviceIoControl让驱动运行了PressKeyByScanCode,不管用,请帮帮忙。 |
|
沙发#
发布于:2007-09-28 22:35
帮帮忙,事关重大。想要什么好处,可以商量。
|
|
板凳#
发布于:2007-09-28 22:36
尽快,pass86@gmail.com,2日内。
|
|
地板#
发布于:2007-09-29 01:30
![]() |
|
地下室#
发布于:2007-11-02 15:09
在应用层,用钩子函数也可以实现啊。为什么要放在驱动级?
|
|
|
5楼#
发布于:2007-11-10 11:19
因为NP
|
|