第一次发问,不晓得这样问对不对。我有个程序是要开机时自动运行,然后就一直运行在后台,我希望系统在要关机时(比如当有人点了开始菜单中的关机菜单并弹出关闭windows的对话框时),能够被我的程序捕获到消息,然后我的程序要再作些处理,再关机能有人帮帮我吗?谢谢

解决方案 »

  1.   

    WM_ENDSESSION  
    WM_QUERYENDSESSION
      

  2.   

    WM_ENDSESSION  
    WM_QUERYENDSESSION
      

  3.   

    Windows在关机时会向正在运行的应用程序发送两个消息,
    一个为WM_QUERYENDSESSION,应用程序返回TRUE同意关闭系统,同时,你可在此处进行操作。
    另一个为WM_ENDSESSION,如果Windwos从所有程序的WM_QUERYENDSESSION处理结果都得到TRUE,它将以TRUE为参数再次广播WM_ENDSESSION消息。
      

  4.   

    只要在注册表里指定位置注册一个dll,系统在关机时,会调用你的DLL里的函数,也许可以解决你的问题,具体情况我回去看看在告诉你,
      

  5.   

    sdy1978()
    我对你的方法比较感兴趣,能说具体点吗,非常感谢。
      

  6.   

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows\APPINIT_DLLS
    中加dll文件名,是种代码注入的方法。你可以自己安装一个系统钩子,HOOK到消息进行相应的处理,当然如医生所说,暴力关机就可能没有执行的机会
      

  7.   

    GINA dll 在2003上 好象没效果啊
      

  8.   

    mscf(扎西特勒) 
    分已经给你,多谢了