使用特定用户名从系统帐户启动流程

时间:2010-04-02 12:09:30

标签: c# .net windows-services process

我正在C#.netAccount: LocalSystemSystem: Windows XP SP3开发Windows服务 如果特定应用程序正在运行,我希望此服务检查所有当前登录的用户,如果没有,则启动此应用程序作为相应的用户名。

  

我提供域名,密码,但Start()抛出Win32Exception   异常“访问被拒绝”

process.StartInfo.Domain = domain;  
process.StartInfo.UserName = name;  
process.StartInfo.Password = password;  
process.StartInfo.FileName = fileName;  
process.StartInfo.UseShellExecute = false;  
process.Start();  

我提供的凭据的用户位于管理员组中 - 如果手动启动,则应用程序成功运行。

这是以不同的方式完成的吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您如何检查正在运行的应用程序?在Windows Vista及更高版本中,服务和桌面之间存在分离。这可能意味着您无法访问所需的信息,并且该服务因此而遭到轰炸。服务对话框中有一个“允许与桌面交互”或类似的复选框。您可能想尝试启用它。