gpt4 book ai didi

windows - 以 SYSTEM 用户身份检测关机

转载 作者:可可西里 更新时间:2023-11-01 11:22:02 26 4
gpt4 key购买 nike

我有一个由服务启动的应用程序。该应用程序没有用户界面,它包含一个 DataModule 和一个在循环中调用 Forms.Application.HandleMessage 的 TMyApplication 实现(如 SvcMgr.TServiceApplication)。我连接了 MainWindow 以记录 Forms.Application 的隐藏窗口收到的任何消息。

  • 如果我手动启动应用程序以便它在我的用户帐户上运行,我会在注销/关闭时在 Forms.Application 的隐藏窗口中收到 WM_QUERYENDSESSION 和 WM_ENDSESSION 消息。
  • 如果我使用该服务启动我的应用程序,该应用程序将在 SYSTEM 帐户下运行。在系统帐户下运行时,在我的应用程序被 Windows 强行终止之前,在系统关闭时我只收到一条消息,$0000001A(WM_WININICHANGE?)。所以没有 WM_QUERYENDSESSION 和 WM_ENDSESSION 消息。

如何检测 SYSTEM 帐户的 Windows 关闭并正常关闭我的应用程序?

最佳答案

让您的服务通知您的子应用程序。

以下是有关服务控制管理器如何通知您的服务的一些信息:

http://social.msdn.microsoft.com/Forums/en/netfxbcl/thread/063cef3a-de94-44d5-8f2e-4e63c3cfdee8

自己做一个 FindWindow 和 PostMessage(hwnd, WM_ENDSESSION)。

关于windows - 以 SYSTEM 用户身份检测关机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5157014/

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