如何判断进程是否由服务控制管理器运行

Bre*_*obi 5 windows-services

我有一些用C#编写的Windows服务,我已设置为支持从命令行作为控制台应用程序运行,如果传递了特定参数.工作得很好,但我希望能够检测应用程序是由服务控制管理员还是从命令行运行.

有没有办法在运行时告诉我的应用程序是否由SCM启动?

Edd*_*uez 3

如果进程在 SCM 下运行,Environment.UserInteractive将返回 false。

  • 只要您不启用 SCM 中的“允许服务与桌面交互”选项,此功能就可以正常工作。对于我们的服务来说不是问题。谢谢瓜迪! (3认同)