Ata*_*Ata 3 c# external-process process
如何打开浏览器中的一个网站的网址没有的Process.start(...):
System.Diagnostics.Process.Start(@"http://www.google.com");
Run Code Online (Sandbox Code Playgroud)
我无法Process.Start()在Windows服务中使用,我不知道为什么.
Han*_*ant 11
服务在隔离的会话中运行.该会话有自己的桌面,就像登录屏幕一样.然而,用户永远不能看它.这是一种非常基本的安全措施,服务通常使用特权帐户运行.您可以使用Process.Start(),用户将永远无法看到程序的UI.
这不是一个真正的问题,在服务中启动浏览器是没有意义的.
Hug*_*len 11
请参阅问题" Windows服务如何执行GUI应用程序? " 的答案:
使用WTSEnumerateSessions查找正确的桌面,然后使用CreateProcessAsUser在该桌面上启动应用程序
还要注意你不应该这样做:)
如果你要做的只是启动一个URL,那么命令可能是
cmd.exe /c start http://example.com/
如果要禁止简要显示的"命令提示符"窗口,可以将结构的wShowWindow字段设置为,或者在.NET中将属性设置为.STARTUPINFOSW_HIDEProcessStartInfo.WindowStyleProcessWindowStyle.Hidden