2015-10-06 57 views
0

当使用默认浏览器打开一个URL,以下工作正常:使用的Process.Start打开与用户名,密码的URL,域名

Process.Start(@"https://www.reddit.com/r/zeronet") 

这个工程一样的“启动”命令在安慰。但是,在the documentation中,此参数意味着文件名或应用程序。

一些旧的代码我见过的URL作为参数打开Internet Explorer打开的网址,但它采用的是ProcessStart对象:

Dim tempProcessObj As New ProcessObject(<location of IE on the machine>) 
tempProcessObj.Domain = "Domain" 
tempProcessObj.UserName = "UserName" 
tempProcessObj.Password = new SecureString(); 
tempProcessObj.Arguments = "https://www.reddit.com/r/zeronet" 

Process.Start(tempProcessObj) 

此抛出一个异常,“系统无法找到文件指定“。这可能是因为fileName参数意味着是文件或可执行位置。

所以,在此基础上,我问:

  1. 如果URL通过的Process.Start(串)的支持,那么为什么不在的Process.Start(的ProcessStartInfo)?
  2. 启动URL时,不是可执行文件,是甚至相关的用户名/密码/域? (即是否有这种情况需要它?)
  3. 如果这是在默认浏览器中启动URL的“错误”方式,那么正确的方法是什么?

回答

1

根据您的描述,它看起来像Process Start对象无法在您指定的位置找到IE可执行文件。

当您尝试根据Web服务器的身份验证设置导航到浏览器中的网站时,浏览器可以询问您的用户凭据,但在您的情况下,它实际上没有任何意义将提供信息提供给网站url 。

通常,您将通过将URL传递给Process.Start来启动网站,如您在第一个代码段中所示。这会自动确保网站在您的机器的默认浏览器中打开。

相关问题