zoukankan      html  css  js  c++  java
  • WPF捕捉Windows关机事件

    1    private const int SC_SCREENSAVE = 0xF140;
    2         private const int WM_QUERYENDSESSION = 0x0011;
    3         private bool IsScreenSave = false;
    4         private bool IsWindowStopClosing = false;
    变量


    不废话,直接贴代码,构造函数中

    public XX{

    1    // 获得窗口句柄
    2                 IntPtr hwnd = new WindowInteropHelper(this).Handle;
    3                 // 在Win32窗口中显示WPF的内容
    4                 HwndSource src = HwndSource.FromHwnd(hwnd);
    5                 //接收窗口消息的处理程序实现(基于 System.Windows.Interop.HwndSourceHook 委托)
    6                 src.AddHook(new HwndSourceHook(WndProc));
    Register

    }

     1     /// <summary>
     2         /// 重新WndProc
     3         /// </summary>
     4         /// <param name="hwnd">窗口句柄</param>
     5         /// <param name="msg">消息ID</param>
     6         /// <param name="wParam">消息的 wParam 值</param>
     7         /// <param name="lParam">消息的 lParam 值</param>
     8         /// <param name="handled">指示该消息是否已处理的值。如果该消息已处理,请将值设置为 true;否则请将其设置为 false</param>
     9         /// <returns></returns>
    10         private IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
    11         {
    12             if (msg == WM_QUERYENDSESSION)
    13             {
    14                 using (var wcf = new KeFuServicesClient())
    15                 {
    16                     wcf.UpdateUserState(MainPanelWindow.ClientServiceID, UserStates.UnLine);
    17                 }
    18             }
    19             return IntPtr.Zero;
    20         }
    捕捉操作系统关机事件

     .NET技术交流群 199281001 .欢迎加入。

  • 相关阅读:
    CAP概述与技术选型
    maven基础命令
    那就从头开始吧,哈哈。
    react 小细节
    二分查找法,折半查找原理
    心态很重要
    apache 软件基金会分发目录。
    jquery的基础知识复习()
    jquery的基础知识复习(基础选择器,属性选择器,层级选择器)
    CPP函数类型转换
  • 原文地址:https://www.cnblogs.com/gaobing/p/3809485.html
Copyright © 2011-2022 走看看