CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

HooK 拦截关机消息 WM_QUERYENDSESSION Then

楼主HacKer_27849587()2006-10-04 02:02:08 在 C/C++ / C语言 提问

我写了一个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

相关问题

关键词

得分解答快速导航

  • 帖主:HacKer_27849587
  • jixingzhong
  • jixingzhong
  • jixingzhong

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo