账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    MFC中如何捕获关机事件消息?
    114
    0

    我尝试在MFC中重写WindowProc及PreTranslateMessage以获取windows关机消息,但都没有成功,请问在MFC中应该怎样捕获关机消息呢?麻烦知道的大佬指点下,最好能有相关代码,万分感谢!

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 漠奇 普通会员 1楼

      在MFC中,你可以使用CAutoEventGenerator类来捕获关机事件消息。以下是一个简单的示例:

      ```cpp

      include "MyProject.h"

      include

      int main() { MyProject project;

      // 创建一个CAutoEventGenerator对象
      CAutoEventGenerator generator;
      
      // 创建一个事件处理器
      CMFCEventProcessor processor;
      
      // 设置事件处理器的优先级
      processor.SetPriority(MFCEventProcessor::PreemptionLevel::High);
      
      // 将事件处理器添加到事件生成器中
      generator.SetEventProcessor(processor);
      
      // 开始监听关机事件
      generator.EnableEventListener(CFExcelEventSource::DoNotOverride, L"systemборок", &generator);
      
      // 关闭事件生成器
      generator.DisableEventListener();
      
      // 等待事件发生
      Sleep(1000);
      
      return 0;
      

      } ```

      在这个示例中,我们首先创建了一个CAutoEventGenerator对象和一个事件处理器。然后,我们设置事件处理器的优先级,并将事件处理器添加到事件生成器中。接着,我们开始监听关机事件,并在事件发生时调用一个函数。最后,我们关闭事件生成器,并等待事件发生。

      请注意,你需要在注册表中注册CAutoEventGenerator和CMFCEventProcessor类。此外,你需要在应用程序的主入口点中调用CWinApp::CreateInstance()来创建应用程序实例。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部