⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mousehook1.cpp

📁 截获鼠标移开事件的VC例子
💻 CPP
字号:
// Mousehook1.cpp: implementation of the CMousehook class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Mousehook1.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
#pragma data_seg("mydata")
	HWND glhPrevTarWnd=NULL;//上次鼠标所指的窗口句柄
	HWND glhDisplayWnd=NULL;//显示目标窗口标题编辑框的句柄
	HHOOK glhHook=NULL;//安装的鼠标勾子句柄
	HINSTANCE glhInstance=NULL;//DLL实例句柄
#pragma data_seg()
CMousehook::CMousehook()
{
	
}

CMousehook::~CMousehook()
{
	stophook();
}
BOOL CMousehook::starthook(HWND hWnd)
{
	//安装钩子并设定接收显示窗口句柄
	BOOL bResult=FALSE;
	glhHook=SetWindowsHookEx(WH_MOUSE,MouseProc,glhInstance,0);

	if(glhHook!=NULL)
		bResult=TRUE;

	//设置显示目标窗口标题编辑框的句柄
	glhDisplayWnd=hWnd;
	return bResult;
}
BOOL CMousehook::stophook()
{	
	//卸载钩子
	BOOL bResult=FALSE;
	if(glhHook)
		bResult= UnhookWindowsHookEx(glhHook);
	if(bResult)
	{
		glhPrevTarWnd=NULL;
		glhDisplayWnd=NULL;//清变量
		glhHook=NULL;
	}
	return bResult;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -