gpt4 book ai didi

C# .Net exe 在 PC 重新启动时不会关闭,从而使机器无法重新启动

转载 作者:太空狗 更新时间:2023-10-29 22:10:19 24 4
gpt4 key购买 nike

我们有一个用 C# 构建的 SmartClient,当运行它的 PC 重新启动时,它会顽固地保持打开状态。这将停止重启过程,除非用户首先关闭 SmartClient 或有其他一些手动干预。

当基础设施团队远程安装需要重启机器的新软件时,这会导致问题。

有什么想法可以让 SmartClient 应用程序识别来自 Windows 的关机/重启事件并优雅地终止自身?

更新:这是一个具有多个 gui 线程的高度线程化应用程序。是的,多个图形用户界面线程。它实际上是许多项目的整合,这些项目本身可能是独立的应用程序——所有这些项目都是从一个单一的 exe 启动和管理的,该 exe 集中了这些管理方法并跟踪这些线程。我不认为使用后台线程是一种选择。

最佳答案

好的,如果您有权访问应用程序,则可以处理 SessionEnded 事件。

...
Microsoft.Win32.SystemEvents.SessionEnded +=new
Microsoft.Win32.SessionEndedEventHandler(shutdownHandler);

...

private void shutdownHandler(object sender, Microsoft.Win32.SessionEndedEventArgs e) {
// Do stuff
}

关于C# .Net exe 在 PC 重新启动时不会关闭,从而使机器无法重新启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/168317/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com