📄 subject_63491.htm
字号:
<p>
序号:63491 发表者:Zerg 发表日期:2003-12-03 23:03:13
<br>主题:我写的程序,键盘钩子(KeyboardProc)在Win2000很正常,在Win98下一点反应都没有.
<br>内容:我写的程序,<BR>键盘钩子(KeyboardProc)在Win2000很正常,<BR>在Win98下一点反应都没有. <BR><BR><BR>LRESULT CALLBACK KeyboardProc(int code,WPARAM wParam,LPARAM lParam)<BR>{<BR> BOOL fEatKeystroke = FALSE;<BR> PKBDLLHOOKSTRUCT p = (PKBDLLHOOKSTRUCT) lParam;<BR> long volumesize;<BR> UINT key_01 = 49;<BR> UINT key_02 = 50;<BR> UINT key_03 = 51;<BR> UINT key_04 = 52;<BR> unsigned long FileNewName[5] = {1,49,50,51,52};<BR> ReadRegisterKeyboard(FileNewName);<BR><BR> if (code == HC_ACTION) <BR> {<BR> switch (wParam) <BR> {<BR> case WM_KEYDOWN: <BR> case WM_SYSKEYDOWN:<BR> {<BR> if (p->vkCode == *(FileNewName+1) ) //开关光驱<BR> {<BR> if( GetKeyState(VK_CONTROL) < 0)<BR> return WndProc(hwndTimer,WM_COMMAND,ID_OPENCLOSE,lParam);<BR> }<BR> else if (p->vkCode == *(FileNewName+2)) //桌面图标背景透明<BR> {<BR> if( GetKeyState(VK_CONTROL) < 0)<BR> DeskIconTransparent();<BR> }<BR> else if (p->vkCode == *(FileNewName+3) ) //打开Google搜索<BR> {<BR> if( GetKeyState(VK_CONTROL) < 0)<BR> {<BR> ShellExecute(NULL,"open","E:\\Program Files\\Internet Explorer\\IEXPLORE.EXE",<BR> NULL, NULL, SW_SHOWNORMAL);<BR> ShellExecute(NULL, "open", "about:blank", NULL,NULL,SW_SHOWNORMAL);<BR> ShellExecute(NULL, "open", "http://www.google.com/", NULL,NULL,SW_SHOWNORMAL);<BR> }<BR> }<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:元元 回复日期:2003-12-09 14:05:14
<br>内容:看你代码所示,可知你是SetWindowsHookEx()的第1个参数是WH_KEYBOARD_LL,而WH_KEYBOARD_LL只在Windows NT/2000/XP下支持,如果要支持WIN98的话,你应该用WH_KEYBOARD
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -