【问题标题】:Check if service started with Windows on boot检查服务是否在 Windows 启动时启动
【发布时间】:2016-09-03 10:29:35
【问题描述】:

有什么方法可以检查我们的服务应用程序是在开机时启动(它是随 Windows 自动启动的)还是由某人手动启动的?

因为:我想在 Windows 启动时执行一些操作,例如运行应用程序或写入 Window 启动的日志...,我不希望它在用户重新启动服务时发生。

【问题讨论】:

  • 我猜你可以将服务配置为不接受停止请求。
  • @HarryJohnston 谢谢,但我仍然希望在某些情况下允许用户重新启动我的服务
  • 你有两个独立的功能,然后 - 你只想在系统启动时发生的事情,其余的。这可能最好通过拥有两个独立的服务来处理。 (它仍然可以是单个可执行文件。)或者根据您的需要,您可以让用户暂停并继续您的服务,而不是停止和启动它。我不知道有任何其他方法可以说明 Windows 为何启动您的服务。

标签: .net windows service


【解决方案1】:

使用如下命令:

sc qc "OneSyncSvc_12e036a"

会有输出START_TYPE(2是AUTO_START)

【讨论】:

  • 谢谢,但这是用来检查服务是如何安装的。我的意思是如何检测我的服务是在启动时由 Windows 实际启动还是由某人手动启动(因为用户可以运行命令 net stop/net start 来重新启动我的服务),当然 START_TYPE 在这两种情况下始终为 2 所以我不能依赖它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-12
相关资源
最近更新 更多