【发布时间】:2010-03-24 04:10:19
【问题描述】:
是否可以启动一个程序以供具有 Windows 服务的用户使用?我一直在使用 C# 中的 Process.Start()。我可以让服务启动某种进程,该进程出现在进程下的任务管理器列表中。但是,该程序永远不会出现在屏幕上。默认情况下,它在用户名“SYSTEM”下运行。我已调整服务管理器中的“登录”选项以匹配登录计算机的人,但这也不会导致出现窗口。
我觉得我要么缺少一个简单的设置,要么需要为此采取不同的方向。下面是我用来启动 Firefox 作为测试应用程序的代码。
private void startRunDap()
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "Firefox";
startInfo.WindowStyle = ProcessWindowStyle.Normal;
startInfo.UseShellExecute = true;
Process.Start(startInfo);
//Process.Start("Firefox");
}
【问题讨论】:
-
想知道为什么在启动菜单中添加了一项服务而不仅仅是一个快捷方式?
-
我们有一个第 3 方应用程序,我们希望将其作为“服务器”类型的应用程序运行。由于某些未知原因,程序将意外退出。我们正在尝试整合一个 Windows 服务来检查应用程序是否正在运行,如果它关闭则重新启动作为此问题的临时解决方案。
-
这个第 3 方应用程序是如何启动的?为什么不直接创建一个程序来启动这个应用程序,等待它意外退出,然后再次启动它?
-
@gabe,既然我已经克服了这个障碍,我想我应该为此使用标准的 Windows 应用程序而不是服务。至少这是一次很好的学习经历。
标签: c# .net windows-services