HooK 拦截关机消息 WM_QUERYENDSESSION Then
我写了一个DLL,注入到了 Explorer.exe.
我想用这个DLL拦截关机消息.因为我要在用户关机的时候我需要2秒时间做一些动作.然后在关机.
Hook 怎么拦截,麻烦给你代码... 还是DLL注入的!
问题点数:100、回复次数:7Top
1 楼HacKer_27849587()回复于 2006-10-04 08:45:15 得分 0
0Top
2 楼HacKer_27849587()回复于 2006-10-04 08:45:44 得分 0
你要是我想要过程.!Top
3 楼jixingzhong(瞌睡虫·星辰)回复于 2006-10-04 08:48:24 得分 60
http://www.lihuasoft.net/article/show.php?id=34
关机消息的拦截Top
4 楼jixingzhong(瞌睡虫·星辰)回复于 2006-10-04 08:59:15 得分 20
http://community.csdn.net/Expert/topic/4978/4978657.xml?temp=.7761652Top
5 楼jixingzhong(瞌睡虫·星辰)回复于 2006-10-04 09:00:15 得分 20
http://book.21www.cn/info/vb/api/3993.htmlTop
6 楼HacKer_27849587()回复于 2006-10-04 11:36:09 得分 0
http://community.csdn.net/Expert/topic/4978/4978657.xml?temp=.7761652
这个办法无效 啊.
大哥给个代码吧 . 谢谢了Top
7 楼HacKer_27849587()回复于 2006-10-04 11:41:09 得分 0
// HOOK.cpp : Defines the entry point for the DLL application.
//
#include "windows.h"
HHOOK hmsg;
LPMSG msg;
LRESULT CALLBACK GetMsgProc(
int code, // hook code
WPARAM wParam, // removal flag
LPARAM lParam // address of structure with message
);
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch(ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
hmsg=SetWindowsHookEx(WH_GETMESSAGE,GetMsgProc,(HINSTANCE)hModule,GetCurrentThreadId());
break;
case DLL_PROCESS_DETACH:
UnhookWindowsHookEx(hmsg);
break;
}
return TRUE;
}
LRESULT CALLBACK GetMsgProc(
int code, // hook code
WPARAM wParam, // removal flag
LPARAM lParam // address of structure with message
)
{
msg=(LPMSG)lParam;
if(msg->message=WM_ENDSESSION)
msg->wParam=0;//禁止结束会话
//MessageBox(0,"","",0);
return CallNextHookEx(hmsg,code,wParam,lParam);
}
这个办法也不可以啊.!Top




