求各位帮忙:
是这样的,我的程序需要对计算机的鼠标和键盘进行禁止操作,不是仅针对这个程序,而是全局的。所以考虑了下,需要用到
windows的鼠标和键盘hook。试了一个基本程序,出现了几个
编译错误。代码如下;
- #include <QtGui/QApplication>
- #include "mainwindow.h"
- #include <Windows.h>
- #include <iostream>
- using namespace std;
- HHOOK key_keep=NULL;
- HWND window_hwhd=NULL;
- HHOOK mouse_keep=NULL;
- LRESULT CALLBACK MouseProc( int nCode, WPARAM wParam, LPARAM lParam )
- { return 1; }
- LRESULT CALLBACK KeyboardProc( int nCode, WPARAM wParam, LPARAM lParam )
- {
- if(VK_SPACE==wParam||(VK_F4==wParam&&(lParam>>29)&1))
- { return 1; }
- else if(VK_F2==wParam)
- {
- //::SendMessage(window_hwhd,WM_CLOSE,0,0);
- }
- else if(VK_F3==wParam)
- { UnhookWindowsHookEx(mouse_keep); }
- else
- return CallNextHookEx(key_keep,nCode,wParam,lParam);
- }
- int main(int argc, char *argv[])
- {
- QApplication a(argc, argv);
- MainWindow w;
- w.show();
- window_hwhd=w.winId();
- mouse_keep=SetWindowsHookEx(WH_MOUSE,MouseProc,NULL,GetCurrentThreadId());
- key_keep= SetWindowsHookEx(WH_KEYBOARD,KeyboardProc,NULL,GetCurrentThreadId());
- return a.exec();
- }
代码是网上找到的,mainWindow类里面
没有添加
其他东西。编译会出现连接错误:
window.open('http://www.qtcn.org/bbs/attachment/Mon_1206/17_131481_8b07c7a299e6d64.jpg?45');" style="max-width:700px;max-height:700px;" onload="if(is_ie6&&this.offsetWidth>700)this.width=700;" >是不是需要在PRO文件中添加什么?还是代码哪里有错误?还有可不可以将hook的相关函数定义在类
文件中,比如mainWindow中?这个我试了下,提示在SetWindowsHookEx中MouseProc缺少
参数。
如果上面的代码不对,应该改哪里呢??
急求~~~~谢谢大家