阅读:1098回复:2
keybd_event()编译总是有问题, 郁闷啊!
在串口驱动里调用keybd_event()编译总是有问题,搞不懂为什么,
是否驱动中不支持这个函数,但在msdn中又说什么此函数用于keyboard driver 中。 很是郁闷,那位老大指点一下小弟,万分感谢! |
|
沙发#
发布于:2004-03-13 13:44
Header: Declared in Winuser.h; include Windows.h.
Library: Use User32.lib. Windows NT/2000 or later: This function has been uperseded. Use SendInput instead. #include <windows.h> void SetNumLock( BOOL bState ) { BYTE keyState[256]; GetKeyboardState((LPBYTE)&keyState); if( (bState && !(keyState[VK_NUMLOCK] & 1)) || (!bState && (keyState[VK_NUMLOCK] & 1)) ) { // Simulate a key press keybd_event( VK_NUMLOCK, 0x45, KEYEVENTF_EXTENDEDKEY | 0, 0 ); // Simulate a key release keybd_event( VK_NUMLOCK, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0); } } void main() { SetNumLock( TRUE ); } |
|
|
板凳#
发布于:2004-03-14 16:34
首先感谢Owen.Guo老兄的回复,呵呵
msdn中的方法我也用了,无奈总是编译无法通过,但在一个应用程序中没有问题。 把头文件包含进去以后,报一大堆错误,即使我把头文件中有关宏定义拷贝进我的文件中,链接时又报错,好像是找不到库函数中keybd_event,我用的例子也很简单,就是ddk中自带的serial驱动例子,按道理不应该出错的, 不知道那位老大可以帮我看看问题出在哪里? 小弟万分感谢, |
|
|