我正在编写代码,该代码将从我们公司的ftp(ftp://...
)开始下载,但是使用Process.Start("ftp://...");
Windows时,系统会提示我输入一个应用程序来打开它(我使用的是Windows 10)。如果我使用Process.Start("http://www.google.com");
它不会提示。如何避免出现此提示,而仅将用户导航到ftp URL?
Windows知道如何处理以以下开头的URL http
:打开默认的Web浏览器并浏览到该URL。但是,它本身并不知道如何处理以开头的URL ftp
。
在使用时Process.Start
,可以将其想象为在Windows中从“运行”行运行命令。您通常需要指定一个可执行文件运行,以及任何额外的信息-即参数可执行-发生后的路径或可执行文件的名称。
在这种情况下,我想说的是您只想启动Internet Explorer并将其URL作为参数提供:
var psi = new ProcessStartInfo(Environment.ExpandEnvironmentVariables(@"%ProgramFiles%\Internet Explorer\iexplore.exe"), url);
var proc = Process.Start(psi);
编辑:要回答有关使用默认浏览器的问题,请参见此SO答案,以了解如何获取默认浏览器的路径:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句