如何在动态链接库中使用全局钩子函数,当鼠标移动时来修改来和隐藏别的窗口--例子代码
解决方案 »
- 如何实现打印报表的功能???
- 为什么我开了2000个socket后,发送数据,会经常有 10055 错误?
- BHO的问题,怎么截获网页中登陆按扭按下的动作
- 还是窗口标题的问题,困惑我,help
- 金山词霸屏幕截词:如何读取屏幕某处显示的一段字? ====== 高难度 =======
- 数据库的问题(有请高手指点一二)
- 本人特别急啊---需要Dialogic(ProLine/2v)语音卡的使用说明和驱动.
- 小弟我初学VC,请高手指点我这段程序的意思
- 有人用过c++builder&MapX开发过GIS么?帮帮我好么
- 如何在VXD或WDM中调用DLL?
- vc中用来打开emf矢量图的类是什么,怎么用?
- Hyper Threading 技術與 多線程(求助)我覺是蠻難的
HWND glPreTarWnd = NULL;
HWND glTargetWnd = NULL;
HWND glSelfWnd = NULL;
#pragma data_seg() //定义
LRESULT WINAPI MouseMoveProc(int code,WPARAM wParam,LPARAM lParam)
{
if(code < 0)
return CallNextHookEx(glMouseHook,code,wParam,lParam); LPMOUSEHOOKSTRUCT pMouseHookWnd=(MOUSEHOOKSTRUCT FAR *)lParam;
glTargetWnd = pMouseHookWnd->hwnd;//获取相应的窗口的句柄 char szWinCaption[]=_T("一切可以修改的句柄标题已多经过修改...");
::EnableWindow(glTargetWnd,szWinCaption);//标题修改
::EnableWindow(glTargetWnd,FALSE);//隐藏窗口 return CallNextHookEx(glMouseHook,code,wParam,lParam);
}extern "C" _declspec(dllexport) BOOL WINAPI ExternMouseMoveToWinText(HWND hWndDes)
{
if(hWndDes == NULL)
return FALSE;
glSelfWnd = hWndDes;
glPreTarWnd = hWndDes;
glMouseHook = SetWindowsHookEx(WH_MOUSE,MouseMoveProc,glMouseInstance,0);
return TRUE;
}extern "C" _declspec(dllexport) void WINAPI StopHook()
{
UnhookWindowsHookEx(glMouseHook);
glMouseHook = NULL;
}
#pragma data_seg("shareddata")
int nNum=0;
HHOOK glMouseHook = NULL;
HINSTANCE glMouseInstance = NULL;
#pragma data_seg()