WPF实现在电脑重启或关机时执行某些逻辑

Application类的SessionEnding事件,就是电脑关机或重启时响应的(会话结束事件),

所以只需要在App.xaml中添加SessionEnding

<Application x:Class="DriverEasyWPF.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="MainWindow.xaml" Startup="Application_Startup" SessionEnding="Application_SessionEnding">

并在后台代码中这样实现:

private void Application_SessionEnding(object sender, SessionEndingCancelEventArgs e)
        {
             //your code
        }

但Windows没有SessionEnding事件,那如果要在某个窗口中监听电脑关机或重启呢,

因为Application类是贯穿于整个WPF项目的,所以在其他窗口的后台代码中,这样调用即可:

public MainWindow()
        {
            InitializeComponent();
            App.Current.SessionEnding += Current_SessionEnding;
        }

        private void Current_SessionEnding(object sender, SessionEndingCancelEventArgs e)
        {
            throw new NotImplementedException();
        }

通过 App.Current.SessionEnding += Current_SessionEnding;

时间: 2024-11-06 20:10:07

WPF实现在电脑重启或关机时执行某些逻辑的相关文章

如何让Win10在重启、关机或注销时自动关闭应用程序

在Windows 10中,如果你的电脑上有未保存的文件,那么当你尝试重启.关机或注销时,Windows会阻止你,以便你完成对文件的保存.如果你在1分钟之内不执行任何操作,那么Windows 10将自动取消重启.关机或注销操作. 如果你确定你一定可以在Windows重启.关机或注销之前保存未保存的有用文件,并且不希望Windows阻止你的电脑重启或关机,那么你可以通过修改注册表来实现当Windows 10重启.关机或注销时自动关闭应用程序. 对Windows上的当前用户生效 打开注册表编辑器(re

注销、重启、关机快捷键命令

有时候我们注销.重启.关机时用鼠标点起来非常不方便而且有时候经常需要重启以验证一些服务或配置,我们可以以命令的形式写个bat小脚本,我们可以在桌面上新建3个空白TXT文档,键入以下命令: 注销:shutdown -l 重启:shutdown -r -t 0 关机:shutdown -s -t 0 以上命令也可直接在win+r运行里输入 各自保存为.bat文件,直接双击就可执行非常方便.

Linux 常用关机/重启/计时关机命令

在linux下一些常用的关机/重启命令有shutdown.halt.reboot.及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的. Linux centos重启命令: 1.reboot 2.shutdown -r now 立刻重启(root用户使用) 3.shutdown -r 10 过10分钟自动重启(root用户使用) 4.shutdown -r 20:35 在时间为20:35时候重启(root用户使用) 如果是通过shutdown命令设置重启的话,可以用shut

shutdown reboot init &nbsp; 重启命令 关机命令 简单介绍

Linux centos重启命令: 1.reboot 2.shutdown -r now 立刻重启(root用户使用) 3.shutdown -r 10 过10分钟自动重启(root用户使用) 4.shutdown -r 20:35 在时间为20:35时候重启(root用户使用) 如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启 Linux centos关机命令: 1.halt 立刻关机 2.poweroff 立刻关机 3.shutdown -h now 立刻

(4):Ubuntu终端字符界面下的重启与关机命令

重启命令: 1.reboot 2.shutdown -r now 立刻重启(root用户使用) 3.shutdown -r 10 过10分钟自动重启(root用户使用) 4.shutdown -r 20:35 在时间为20:35时候重启(root用户使用) 如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启. 关机命令: 1.halt 立刻关机 2.poweroff 立刻关机 3.shutdown -h now 立刻关机(root用户使用) 4.shutdown

wpf 只在window是ShowDialog打开时才设置DialogResult

//only set DialogResult when window is ShowDialog before if(System.Windows.Interop.ComponentDispatcher.IsThreadModal) m_OwningWindow.DialogResult = true; wpf 只在window是ShowDialog打开时才设置DialogResult

电脑重启之后流氓软件自动安装之完美解决办法

电脑重启之后流氓软件自动安装之完美解决办法: 1. win+R 运行msconfig 在startup(开机启动) 这一项里面, 把所有对勾全部去掉( disable all), 你可以发现这里面就有自动安装的, 2. 卸载所有流氓软件 3. 在1. 中, 有的名字竟然叫百度杀毒install,  你可以看到那些自启的路径, 如果他们的安装包还在, 删了就好.

WIN7远程桌面重启、关机

在使用远程桌面访问Win7系统时会发现一个小问题,在xp远程桌面中存在的重启和关机菜单在win7远程桌面中不见了,如图: 这也给我们的使用带来了一些小小的麻烦,但实际上微软依然保留了命令行的方式来实现这两个功能,使用win+R键呼出运行窗口,输入shutdown -r命令重启远程机器,输入shutdown -s关闭远程机器.

Linux重启、关机命令

Linux 重启命令: 1.reboot 2.shutdown -r now 立刻重启(root用户使用) 3.shutdown -r 10 过10分钟自动重启(root用户使用) 4.shutdown -r 20:35 在时间为20:35时候重启(root用户使用) 如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启 Linux 关机命令: 1.halt 立刻关机 2.poweroff 立刻关机 3.shutdown -h now 立刻关机(root用户使用)