hook監視視窗

2021-05-25 07:36:27 字數 2318 閱讀 5481

dll檔案

/*****************hook.cpp***************/

#include

#include

#pragma data_seg ("hook")

hinstance g_hmodule=null;

hhook hook=null;

#pragma data_seg() 

#pragma comment(linker,"/section:hook,rws")

bool apientry dllmain( handle hmodule, 

dword  ul_reason_for_call, 

lpvoid lpreserved

g_hmodule = (hinstance)hmodule;

switch (ul_reason_for_call)

case dll_process_attach:

case dll_thread_attach:

case dll_thread_detach:

case dll_process_detach:

break;

return true;

lresult callback cbtproc(int ncode, wparam wparam, lparam lparam)

file *fp1;

if( (fp1=fopen("c:","a"))==null )

exit(0);

if(getcurrentprocessid()==800)

if(ncode==hcbt_minmax)

fprintf(fp1, "threadid=%d,hcbt_minmax/n", getcurrentprocessid());

else if(ncode==hcbt_movesize)

fprintf(fp1, "threadid=%d,hcbt_movesize/n", getcurrentprocessid());

fclose(fp1);

return callnexthookex(hook,ncode,wparam,lparam);

bool winapi installhook(void)

hook = setwindowshookex(wh_cbt, cbtproc, g_hmodule, 0);

if(hook == null)

printf("error!/n");

return false;

else

printf("yes!/n");

return true;

bool winapi uninstallhook(void)

if(unhookwindowshookex(hook))        //解除安裝鉤子

return true;

else

return false;

/*******************hook.h*************/

#ifdef hook_dll_api 

#else

#define hook_dll_api _declspec(dllimport)

#endif

#include

hook_dll_api bool winapi installhook(void);

hook_dll_api bool winapi uninstallhook(void);

應用程式

/***********test.cpp*******************/

#include< stdio.h >

#include< windows.h>

#include "c:/monitor/hook/hook.h"

int  main(void)

bool result=installhook();

if(result==true)

printf("hook success !/n");

msg msg;

bool bret = false;

while( (bret = getmessage( &msg,0, 0, 0 )) != 0)

if (bret == -1) 

printf("error message/n");

else 

printf("right message/n");

else

// printf("error!/n");

return 0;

uninstallhook();

VS中監視視窗,即時視窗和輸出視窗的使用

一 監視視窗 1.配置應用程式,使應用程式處於除錯狀態。2.點選 除錯 視窗 監視 監視1 開啟監視視窗。3.在監視視窗中 名稱 欄中輸入變數名稱或html元素id,可檢視變數的當前值和資料型別或html元素的屬性 方法 事件等。4.亦可選中變數,將其拖到 名稱 欄,即可檢視變數的當前值和資料型別。...

查閱可視視窗標題

查閱可視視窗標題 下面只是舉出乙個例子提供參考 運用api函式 getwindow 配合getwindowtext 逐一查出各視窗的標題 1.file new project 開始乙個新的工程 2.在 form1 中安排 button 與 memo 各一 3.在 button1 的 onclick ...

hook 視窗訊息佇列

此段 不能在控制台裡執行,必須有視窗。hook 訊息迴圈處理.cpp 定義控制台應用程式的入口點。include stdafx.h include lresult callback old windowproc hwnd hwnd,uint umsg,wparam wparam,lparam lpa...