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...