c#windows service process.start

时间:2011-03-28 12:50:16

标签: c# windows-services

我确实创建了一个Windows服务。我可以在OnStart(string[]args]方法中添加Process.Start - 用于打开另一个可执行文件。它会起作用吗?我想创建一个打开可执行文件的Windows服务应用程序(例如cmd,我可以添加自己的命令来打开记事本文件.Thx

2 个答案:

答案 0 :(得分:4)

您必须允许服务与桌面交互(在服务mgr中的服务属性下),但有时会被视为错误的practice。请注意,由于Session 0 isolation,这在Windows 2008及更高版本中很难实现。

答案 1 :(得分:1)

它可以工作,但是如果不更改默认值,则进程运行的权限以及它可以看到的资源与wiundow服务(即本地系统帐户)相同。这可能会有所不同,取决于可执行文件的功能。如果可执行文件必须显示某些UI,您将遇到麻烦,因为默认情况下,servcie看不到用户桌面。如果您需要查看映射的网络驱动器,也会发生同样的情况。通常,如果可执行文件是一些不需要连接用户配置文件权限/资源的批处理,则它可以工作。