• 大小: 57KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-20
  • 语言: C/C++
  • 标签:

资源简介

mfc安装全局钩子,显示窗口的标题,mfc安装全局钩子,显示窗口的标题

资源截图

代码片段和文件信息

// MousehookDll.cpp : Defines the initialization routines for the DLL.
//

#include “stdafx.h“
#include 
#include “MousehookDll.h“

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


static AFX_EXTENSION_MODULE  MousehookDllDLL = { NULL NULL };


#pragma data_seg(“titlename“)
HWND glhPrevWnd=NULL; //上次鼠标所指的窗口句柄 
HWND glhDisplayWnd=NULL; //显示目标窗口标题编辑框的句柄 
HHOOK glhHook=NULL; //安装的鼠标钩子句柄 
HINSTANCE glhInstance=NULL;//DLL实例句柄 
#pragma data_seg() 


extern “C“ int APIENTRY
DllMain(HINSTANCE hInstance DWORD dwReason LPVOID lpReserved)
{
// Remove this if you use lpReserved
UNREFERENCED_PARAMETER(lpReserved);

if (dwReason == DLL_PROCESS_ATTACH)
{
TRACE0(“MOUSEHOOKDLL.DLL Initializing!\n“);

// Extension DLL one-time initialization
if (!AfxInitExtensionModule(MousehookDllDLL hInstance))
return 0;

// Insert this DLL into the resource chain
// NOTE: If this Extension DLL is being implicitly linked to by
//  an MFC Regular DLL (such as an ActiveX Control)
//  instead of an MFC application then you will want to
//  remove this line from DllMain and put it in a separate
//  function exported from this Extension DLL.  The Regular DLL
//  that uses this Extension DLL should then explicitly call that
//  function to initialize this Extension DLL.  Otherwise
//  the CDynlinkLibrary object will not be attached to the
//  Regular DLL‘s resource chain and serious problems will
//  result.

new CDynlinkLibrary(MousehookDllDLL);
glhInstance=hInstance;//插入保存DLL实例句柄 
}
else if (dwReason == DLL_PROCESS_DETACH)
{
TRACE0(“MOUSEHOOKDLL.DLL Terminating!\n“);
// Terminate the library before destructors are called
AfxTermExtensionModule(MousehookDllDLL);
}
return 1;   // ok
}
//鼠标钩子函数的实现
LRESULT CALLBACK MouseProc(int nCodeWPARAM wparamLPARAM lparam) 

LPMOUSEHOOKSTRUCT pMouseHook=(MOUSEHOOKSTRUCT FAR *) lparam; 
if (nCode>=0) 

HWND glhTargetWnd=pMouseHook->hwnd;//取目标窗口句柄 
HWND ParentWnd=glhTargetWnd; 
while (ParentWnd !=NULL) 

glhTargetWnd=ParentWnd; 
ParentWnd=GetParent(glhTargetWnd); //取应用程序主窗口句柄 

if(glhTargetWnd!=glhPrevWnd) 

char szCaption[100]; 
GetWindowText(glhTargetWndszCaption100); //取目标窗口标题 
if (strcmp(szCaption“UseMouseHook“))
{
if(IsWindow(glhDisplayWnd)) 
SendMessage(glhDisplayWndWM_SETTEXT0(LPARAM)(LPCTSTR)szCaption); 
      glhPrevWnd=glhTargetWnd; //保存目标窗口 
}


return CallNextHookEx(glhHooknCodewparamlparam); //继续传递消息 



CMouseHook::CMouseHook() //类构造函数 


CMouseHook::~CMouseHook() //类析构函数 

StopHook(); 


BOOL CMouseHook::StartHook(HWND hWnd) //安装钩子并设定接收显示窗口句柄 

BOOL bResult=FALSE;
glhHook=SetWindowsHookEx(WH_MOUSEMouseProcglhInstance0); 
if(glhHook!=NULL) 
{
bResult=TRUE;
}
glhDisplayWnd=hWnd;//设置显示目标窗口标题编辑框的句柄 
return bResu

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-04-05 21:05  全局鼠标钩子举例\
     目录           0  2012-04-05 21:05  全局鼠标钩子举例\实例292——创建记录当前鼠标所在窗口标题信息的鼠标钩子DLL\
     目录           0  2012-04-05 21:05  全局鼠标钩子举例\实例292——创建记录当前鼠标所在窗口标题信息的鼠标钩子DLL\MousehookDll\
     文件       18312  2012-02-13 10:50  全局鼠标钩子举例\实例292——创建记录当前鼠标所在窗口标题信息的鼠标钩子DLL\MousehookDll\MousehookDll.aps
     文件        3411  2012-04-05 20:57  全局鼠标钩子举例\实例292——创建记录当前鼠标所在窗口标题信息的鼠标钩子DLL\MousehookDll\MousehookDll.cpp
     文件         244  2007-01-08 15:17  全局鼠标钩子举例\实例292——创建记录当前鼠标所在窗口标题信息的鼠标钩子DLL\MousehookDll\MousehookDll.def
     文件        4247  2012-04-05 21:02  全局鼠标钩子举例\实例292——创建记录当前鼠标所在窗口标题信息的鼠标钩子DLL\MousehookDll\MousehookDll.dsp
     文件         547  2007-01-08 14:31  全局鼠标钩子举例\实例292——创建记录当前鼠标所在窗口标题信息的鼠标钩子DLL\MousehookDll\MousehookDll.dsw
     文件         246  2007-01-08 16:13  全局鼠标钩子举例\实例292——创建记录当前鼠标所在窗口标题信息的鼠标钩子DLL\MousehookDll\MousehookDll.h
     文件       58368  2012-04-05 21:02  全局鼠标钩子举例\实例292——创建记录当前鼠标所在窗口标题信息的鼠标钩子DLL\MousehookDll\MousehookDll.ncb
     文件       48640  2012-04-05 21:02  全局鼠标钩子举例\实例292——创建记录当前鼠标所在窗口标题信息的鼠标钩子DLL\MousehookDll\MousehookDll.opt
     文件        1964  2012-04-05 20:58  全局鼠标钩子举例\实例292——创建记录当前鼠标所在窗口标题信息的鼠标钩子DLL\MousehookDll\MousehookDll.plg
     文件        3101  2007-01-08 14:31  全局鼠标钩子举例\实例292——创建记录当前鼠标所在窗口标题信息的鼠标钩子DLL\MousehookDll\MousehookDll.rc
     文件        2543  2007-01-08 14:31  全局鼠标钩子举例\实例292——创建记录当前鼠标所在窗口标题信息的鼠标钩子DLL\MousehookDll\ReadMe.txt
     目录           0  2012-04-05 21:05  全局鼠标钩子举例\实例292——创建记录当前鼠标所在窗口标题信息的鼠标钩子DLL\MousehookDll\res\
     文件         384  2007-01-08 14:31  全局鼠标钩子举例\实例292——创建记录当前鼠标所在窗口标题信息的鼠标钩子DLL\MousehookDll\Resource.h
     文件         404  2007-01-08 14:31  全局鼠标钩子举例\实例292——创建记录当前鼠标所在窗口标题信息的鼠标钩子DLL\MousehookDll\res\MousehookDll.rc2
     文件         214  2007-01-08 14:31  全局鼠标钩子举例\实例292——创建记录当前鼠标所在窗口标题信息的鼠标钩子DLL\MousehookDll\StdAfx.cpp
     文件        1447  2007-01-08 14:31  全局鼠标钩子举例\实例292——创建记录当前鼠标所在窗口标题信息的鼠标钩子DLL\MousehookDll\StdAfx.h
     目录           0  2012-04-05 21:05  全局鼠标钩子举例\实例293——调用鼠标钩子DLL,显示鼠标所在窗口的标题\
     目录           0  2012-04-05 21:05  全局鼠标钩子举例\实例293——调用鼠标钩子DLL,显示鼠标所在窗口的标题\UseMouseHook\
     文件      106639  2012-03-29 16:50  全局鼠标钩子举例\实例293——调用鼠标钩子DLL,显示鼠标所在窗口的标题\UseMouseHook\MousehookDll.dll
     文件         215  2008-03-26 16:00  全局鼠标钩子举例\实例293——调用鼠标钩子DLL,显示鼠标所在窗口的标题\UseMouseHook\MousehookDll.h
     文件        3096  2012-03-29 16:48  全局鼠标钩子举例\实例293——调用鼠标钩子DLL,显示鼠标所在窗口的标题\UseMouseHook\MousehookDll.lib
     文件        3687  2008-03-26 16:00  全局鼠标钩子举例\实例293——调用鼠标钩子DLL,显示鼠标所在窗口的标题\UseMouseHook\ReadMe.txt
     目录           0  2012-04-05 21:05  全局鼠标钩子举例\实例293——调用鼠标钩子DLL,显示鼠标所在窗口的标题\UseMouseHook\res\
     文件         689  2008-03-26 16:00  全局鼠标钩子举例\实例293——调用鼠标钩子DLL,显示鼠标所在窗口的标题\UseMouseHook\Resource.h
     文件        1078  2008-03-26 16:00  全局鼠标钩子举例\实例293——调用鼠标钩子DLL,显示鼠标所在窗口的标题\UseMouseHook\res\UseMouseHook.ico
     文件         404  2008-03-26 16:00  全局鼠标钩子举例\实例293——调用鼠标钩子DLL,显示鼠标所在窗口的标题\UseMouseHook\res\UseMouseHook.rc2
     文件         214  2008-03-26 16:00  全局鼠标钩子举例\实例293——调用鼠标钩子DLL,显示鼠标所在窗口的标题\UseMouseHook\StdAfx.cpp
     文件        1054  2008-03-26 16:00  全局鼠标钩子举例\实例293——调用鼠标钩子DLL,显示鼠标所在窗口的标题\UseMouseHook\StdAfx.h
............此处省略11个文件信息

评论

共有 条评论

相关资源