0

我必须编写一个在 WindowsME 上运行的 C# 应用程序。是的,我的意思是很久以前就被遗忘的微软操作系统。我的程序不需要用户交互,并且由于 WindowsME 不支持服务,它将是一个控制台应用程序。此外,它将在更现代的操作系统上使用,用户可以选择是将其作为控制台应用程序启动还是作为 Windows 服务安装。现在假设该软件正在 WinME 上运行,并且用户决定注销或关闭机器而无需事先退出我的软件。WinME 抱怨我的程序仍在运行,并询问它是否应该终止该进程。除了糟糕的用户体验外,这意味着应用程序没有正确关闭。

因此,我寻找一种方法来通知用户是否注销或想要关闭机器,以便能够首先正确关闭我的软件。

4

2 回答 2

1

您是否尝试过处理 SystemEvents.SessionEnding/SystemEvents.SessionEnded?要使用它,您需要创建一个隐藏表单,我相信 MSDN 示例演示了这一点。

http://msdn.microsoft.com/en-us/library/microsoft.win32.systemevents.aspx

于 2010-04-14T20:51:50.950 回答
1

我认为 WM_ENDSESSION 受 Windows ME 支持,因此我认为您应该尝试捕获该事件。这是当 Windows 会话结束(通过注销或关闭)时发送到所有顶级窗口的一个。

于 2010-04-14T20:48:19.023 回答