我正在编写将从我们公司的 ftp (ftp://...
) 开始下载的代码,但是当使用 Process.Start("ftp://.. .");
Windows 将提示我使用一个应用程序来打开它(我使用的是 Windows 10)。如果我使用 Process.Start("http://www.google.com");
它不会提示。如何避免此提示并仅将用户导航到 ftp URL?
最佳答案
Windows 知道如何处理以 http
开头的 URL:打开默认 Web 浏览器并浏览到该 URL。但是,它本身并不知道如何处理以 ftp
开头的 URL。
当您使用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关于如何获取默认浏览器的路径:
关于c# - FTP ://prompts for app 的 Process.Start,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38834644/