在服务的 OnShutdown 中用 C# 进行 WMI 调用的方法?

发布于 2025-01-03 18:54:32 字数 251 浏览 2 评论 0原文

我有一个 Windows 服务,我想在计算机关闭时将当前网络设置记录到文本文件中。我使用 WMI 调用和 C# ManagementClass 来执行此操作。但是,它不起作用。
我相信问题是因为关闭时,Windows 停止 WMI 服务,然后我的服务尝试使用 WMI 进行调用(在其 OnShutdown() 中),但不能,因为 WMI 服务已经停止了。
有谁知道解决这个问题的方法,或者也许是另一种获取网络设置的方法?

I've a Windows service that I want to record the current network settings to a text file when the computer is shutdown. I'm using WMI calls with the C# ManagementClass to do so. However, it is not working.
I believe the problem is because when shutting down, Windows stops the WMI service, then my service tries to make a call using WMI (in its OnShutdown()) but can't because the WMI service has already stopped.
Does anybody know of a way around this, or perhaps another way to get the network settings?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

做个ˇ局外人 2025-01-10 18:54:32

您可以使您的服务依赖于 WMI 服务,我认为这将使 Windows 在 WMI 之前关闭您的服务。

要从可以使用的命令行执行此操作,请注意 = 后面的空格很重要:

sc config "MyService" depend= Winmgmt

You could make your service dependent on the WMI service, which I think will make windows shut yours down before WMI.

To do it from a command line you can use, note the space after the = is important:

sc config "MyService" depend= Winmgmt
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文