-
大小: 57KB文件類型: .zip金幣: 2下載: 0 次發(fā)布日期: 2021-05-20
- 語言: C/C++
- 標(biāo)簽:
資源簡介
mfc安裝全局鉤子,顯示窗口的標(biāo)題,mfc安裝全局鉤子,顯示窗口的標(biāo)題

代碼片段和文件信息
//?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;?//上次鼠標(biāo)所指的窗口句柄?
HWND?glhDisplayWnd=NULL;?//顯示目標(biāo)窗口標(biāo)題編輯框的句柄?
HHOOK?glhHook=NULL;?//安裝的鼠標(biāo)鉤子句柄?
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
}
//鼠標(biāo)鉤子函數(shù)的實現(xiàn)
LRESULT?CALLBACK?MouseProc(int?nCodeWPARAM?wparamLPARAM?lparam)?
{?
LPMOUSEHOOKSTRUCT?pMouseHook=(MOUSEHOOKSTRUCT?FAR?*)?lparam;?
if?(nCode>=0)?
{?
HWND?glhTargetWnd=pMouseHook->hwnd;//取目標(biāo)窗口句柄?
HWND?ParentWnd=glhTargetWnd;?
while?(ParentWnd?!=NULL)?
{?
glhTargetWnd=ParentWnd;?
ParentWnd=GetParent(glhTargetWnd);?//取應(yīng)用程序主窗口句柄?
}?
if(glhTargetWnd!=glhPrevWnd)?
{?
char?szCaption[100];?
GetWindowText(glhTargetWndszCaption100);?//取目標(biāo)窗口標(biāo)題?
if?(strcmp(szCaption“UseMouseHook“))
{
if(IsWindow(glhDisplayWnd))?
SendMessage(glhDisplayWndWM_SETTEXT0(LPARAM)(LPCTSTR)szCaption);?
????? glhPrevWnd=glhTargetWnd;?//保存目標(biāo)窗口?
}
}?
}?
return?CallNextHookEx(glhHooknCodewparamlparam);?//繼續(xù)傳遞消息?
}?
CMouseHook::CMouseHook()?//類構(gòu)造函數(shù)?
{?
}?
CMouseHook::~CMouseHook()?//類析構(gòu)函數(shù)?
{?
StopHook();?
}?
BOOL?CMouseHook::StartHook(HWND?hWnd)?//安裝鉤子并設(shè)定接收顯示窗口句柄?
{?
BOOL?bResult=FALSE;
glhHook=SetWindowsHookEx(WH_MOUSEMouseProcglhInstance0);?
if(glhHook!=NULL)?
{
bResult=TRUE;
}
glhDisplayWnd=hWnd;//設(shè)置顯示目標(biāo)窗口標(biāo)題編輯框的句柄?
return?bResu
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-04-05?21:05??全局鼠標(biāo)鉤子舉例\
?????目錄???????????0??2012-04-05?21:05??全局鼠標(biāo)鉤子舉例\實例292——創(chuàng)建記錄當(dāng)前鼠標(biāo)所在窗口標(biāo)題信息的鼠標(biāo)鉤子DLL\
?????目錄???????????0??2012-04-05?21:05??全局鼠標(biāo)鉤子舉例\實例292——創(chuàng)建記錄當(dāng)前鼠標(biāo)所在窗口標(biāo)題信息的鼠標(biāo)鉤子DLL\MousehookDll\
?????文件???????18312??2012-02-13?10:50??全局鼠標(biāo)鉤子舉例\實例292——創(chuàng)建記錄當(dāng)前鼠標(biāo)所在窗口標(biāo)題信息的鼠標(biāo)鉤子DLL\MousehookDll\MousehookDll.aps
?????文件????????3411??2012-04-05?20:57??全局鼠標(biāo)鉤子舉例\實例292——創(chuàng)建記錄當(dāng)前鼠標(biāo)所在窗口標(biāo)題信息的鼠標(biāo)鉤子DLL\MousehookDll\MousehookDll.cpp
?????文件?????????244??2007-01-08?15:17??全局鼠標(biāo)鉤子舉例\實例292——創(chuàng)建記錄當(dāng)前鼠標(biāo)所在窗口標(biāo)題信息的鼠標(biāo)鉤子DLL\MousehookDll\MousehookDll.def
?????文件????????4247??2012-04-05?21:02??全局鼠標(biāo)鉤子舉例\實例292——創(chuàng)建記錄當(dāng)前鼠標(biāo)所在窗口標(biāo)題信息的鼠標(biāo)鉤子DLL\MousehookDll\MousehookDll.dsp
?????文件?????????547??2007-01-08?14:31??全局鼠標(biāo)鉤子舉例\實例292——創(chuàng)建記錄當(dāng)前鼠標(biāo)所在窗口標(biāo)題信息的鼠標(biāo)鉤子DLL\MousehookDll\MousehookDll.dsw
?????文件?????????246??2007-01-08?16:13??全局鼠標(biāo)鉤子舉例\實例292——創(chuàng)建記錄當(dāng)前鼠標(biāo)所在窗口標(biāo)題信息的鼠標(biāo)鉤子DLL\MousehookDll\MousehookDll.h
?????文件???????58368??2012-04-05?21:02??全局鼠標(biāo)鉤子舉例\實例292——創(chuàng)建記錄當(dāng)前鼠標(biāo)所在窗口標(biāo)題信息的鼠標(biāo)鉤子DLL\MousehookDll\MousehookDll.ncb
?????文件???????48640??2012-04-05?21:02??全局鼠標(biāo)鉤子舉例\實例292——創(chuàng)建記錄當(dāng)前鼠標(biāo)所在窗口標(biāo)題信息的鼠標(biāo)鉤子DLL\MousehookDll\MousehookDll.opt
?????文件????????1964??2012-04-05?20:58??全局鼠標(biāo)鉤子舉例\實例292——創(chuàng)建記錄當(dāng)前鼠標(biāo)所在窗口標(biāo)題信息的鼠標(biāo)鉤子DLL\MousehookDll\MousehookDll.plg
?????文件????????3101??2007-01-08?14:31??全局鼠標(biāo)鉤子舉例\實例292——創(chuàng)建記錄當(dāng)前鼠標(biāo)所在窗口標(biāo)題信息的鼠標(biāo)鉤子DLL\MousehookDll\MousehookDll.rc
?????文件????????2543??2007-01-08?14:31??全局鼠標(biāo)鉤子舉例\實例292——創(chuàng)建記錄當(dāng)前鼠標(biāo)所在窗口標(biāo)題信息的鼠標(biāo)鉤子DLL\MousehookDll\ReadMe.txt
?????目錄???????????0??2012-04-05?21:05??全局鼠標(biāo)鉤子舉例\實例292——創(chuàng)建記錄當(dāng)前鼠標(biāo)所在窗口標(biāo)題信息的鼠標(biāo)鉤子DLL\MousehookDll\res\
?????文件?????????384??2007-01-08?14:31??全局鼠標(biāo)鉤子舉例\實例292——創(chuàng)建記錄當(dāng)前鼠標(biāo)所在窗口標(biāo)題信息的鼠標(biāo)鉤子DLL\MousehookDll\Resource.h
?????文件?????????404??2007-01-08?14:31??全局鼠標(biāo)鉤子舉例\實例292——創(chuàng)建記錄當(dāng)前鼠標(biāo)所在窗口標(biāo)題信息的鼠標(biāo)鉤子DLL\MousehookDll\res\MousehookDll.rc2
?????文件?????????214??2007-01-08?14:31??全局鼠標(biāo)鉤子舉例\實例292——創(chuàng)建記錄當(dāng)前鼠標(biāo)所在窗口標(biāo)題信息的鼠標(biāo)鉤子DLL\MousehookDll\StdAfx.cpp
?????文件????????1447??2007-01-08?14:31??全局鼠標(biāo)鉤子舉例\實例292——創(chuàng)建記錄當(dāng)前鼠標(biāo)所在窗口標(biāo)題信息的鼠標(biāo)鉤子DLL\MousehookDll\StdAfx.h
?????目錄???????????0??2012-04-05?21:05??全局鼠標(biāo)鉤子舉例\實例293——調(diào)用鼠標(biāo)鉤子DLL,顯示鼠標(biāo)所在窗口的標(biāo)題\
?????目錄???????????0??2012-04-05?21:05??全局鼠標(biāo)鉤子舉例\實例293——調(diào)用鼠標(biāo)鉤子DLL,顯示鼠標(biāo)所在窗口的標(biāo)題\UseMouseHook\
?????文件??????106639??2012-03-29?16:50??全局鼠標(biāo)鉤子舉例\實例293——調(diào)用鼠標(biāo)鉤子DLL,顯示鼠標(biāo)所在窗口的標(biāo)題\UseMouseHook\MousehookDll.dll
?????文件?????????215??2008-03-26?16:00??全局鼠標(biāo)鉤子舉例\實例293——調(diào)用鼠標(biāo)鉤子DLL,顯示鼠標(biāo)所在窗口的標(biāo)題\UseMouseHook\MousehookDll.h
?????文件????????3096??2012-03-29?16:48??全局鼠標(biāo)鉤子舉例\實例293——調(diào)用鼠標(biāo)鉤子DLL,顯示鼠標(biāo)所在窗口的標(biāo)題\UseMouseHook\MousehookDll.lib
?????文件????????3687??2008-03-26?16:00??全局鼠標(biāo)鉤子舉例\實例293——調(diào)用鼠標(biāo)鉤子DLL,顯示鼠標(biāo)所在窗口的標(biāo)題\UseMouseHook\ReadMe.txt
?????目錄???????????0??2012-04-05?21:05??全局鼠標(biāo)鉤子舉例\實例293——調(diào)用鼠標(biāo)鉤子DLL,顯示鼠標(biāo)所在窗口的標(biāo)題\UseMouseHook\res\
?????文件?????????689??2008-03-26?16:00??全局鼠標(biāo)鉤子舉例\實例293——調(diào)用鼠標(biāo)鉤子DLL,顯示鼠標(biāo)所在窗口的標(biāo)題\UseMouseHook\Resource.h
?????文件????????1078??2008-03-26?16:00??全局鼠標(biāo)鉤子舉例\實例293——調(diào)用鼠標(biāo)鉤子DLL,顯示鼠標(biāo)所在窗口的標(biāo)題\UseMouseHook\res\UseMouseHook.ico
?????文件?????????404??2008-03-26?16:00??全局鼠標(biāo)鉤子舉例\實例293——調(diào)用鼠標(biāo)鉤子DLL,顯示鼠標(biāo)所在窗口的標(biāo)題\UseMouseHook\res\UseMouseHook.rc2
?????文件?????????214??2008-03-26?16:00??全局鼠標(biāo)鉤子舉例\實例293——調(diào)用鼠標(biāo)鉤子DLL,顯示鼠標(biāo)所在窗口的標(biāo)題\UseMouseHook\StdAfx.cpp
?????文件????????1054??2008-03-26?16:00??全局鼠標(biāo)鉤子舉例\實例293——調(diào)用鼠標(biāo)鉤子DLL,顯示鼠標(biāo)所在窗口的標(biāo)題\UseMouseHook\StdAfx.h
............此處省略11個文件信息
評論
共有 條評論