我正在编写将从我们公司的ftp(ftp://...
)开始下载的代码,但是当使用Process.Start("ftp://...");
时,Windows将提示我打开一个应用程序(我正在使用Windows 10) )。如果我使用Process.Start("http://www.google.com");
则不会提示。如何避免此提示并将用户导航到ftp URL?
答案 0 :(得分:2)
Windows知道如何处理以http
开头的网址:打开默认网络浏览器并浏览到该网址。但是,它本身并不知道如何处理以ftp
开头的网址。
当您使用Process.Start
时,请将其视为运行"运行" Windows中的行。您通常需要指定要运行的可执行文件,并且在路径或可执行文件名后发生任何其他信息(即可执行文件的参数)。
在这种情况下,我说你只是想启动Internet Explorer并提供你的URL作为参数:
var psi = new ProcessStartInfo(Environment.ExpandEnvironmentVariables(@"%ProgramFiles%\Internet Explorer\iexplore.exe"), url);
var proc = Process.Start(psi);
编辑:回答有关使用默认浏览器的问题,请参阅this SO answer,了解如何获取默认浏览器的路径: