我正在C#.net
,Account: LocalSystem
,System: 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();
我提供的凭据的用户位于管理员组中 - 如果手动启动,则应用程序成功运行。
这是以不同的方式完成的吗?
谢谢!
答案 0 :(得分:0)
您如何检查正在运行的应用程序?在Windows Vista及更高版本中,服务和桌面之间存在分离。这可能意味着您无法访问所需的信息,并且该服务因此而遭到轰炸。服务对话框中有一个“允许与桌面交互”或类似的复选框。您可能想尝试启用它。