我们正在为可能拥有WinXP或可能拥有Win7的用户运行C#.net应用。 WinXP主要使用IE-7,Win7用户使用IE-8。在应用程序中,需要显示一个网页,它只能在32位浏览器上运行(Crystal Reports)。
在WinXP中,使用C:\ Program Files \ Internet Explorer \ iexplore.exe调用浏览器。
在Win7中,使用相同的方式调用64位浏览器,但使用C:\ Program Files(x86)\ Internet Explorer \ iexplore.exe调用32位浏览器。
因此,我们需要确定用户的操作系统,然后使用适当的IE。或者,我们需要以某种方式使IE 32位成为默认浏览器。
当我们第一次遇到这个时,我是为数不多的Win7用户之一,我们将我的电脑中的iexplore重新映射到32位IE。这工作了好几个月,直到我们升级,它打破IE非常糟糕,它根本无法启动,我最终让我的电脑重新成像。我不认为这对我们的普通用户来说是一个很好的解决方案!
我们应该以某种方式获取用户的操作系统,然后调用相应的IE?怎么办?或者,有没有更好的方法来处理这个? OS可能会有很长一段时间,可能还有几年。
答案 0 :(得分:2)
您应该只需拨打Process.Start(@"\path\to\file.html")
即可在用户的默认浏览器中打开该页面。
如果您确实需要32位IE的路径,请致电
Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86),
@"Internet Explorer\iexplore.exe"
)
答案 1 :(得分:0)
Process.Start("http://www.example.com/path/to/file.html");
启动URL将打开默认浏览器。这可能不是IE。我还建议使用协议和其他所有内容格式化网址。