我们正在运行一个C#.net应用程序,用户可能使用WinXP或Win7。Win7用户使用的是IE-8,IE-7是WinXP的主要版本。在应用程序中,需要显示一个网页,并且它只能在32位浏览器(Crystal Reports)上工作。
在互联网中,浏览器通过C:\Program Files\ WinXP Explorer\iexplore.exe调用。
在互联网中,64位浏览器的调用方式与此相同,但32位浏览器的调用方式为C:\Program Files (X86)\ Win7 Explorer\iexplore.exe。
因此,我们需要确定用户的操作系统,然后使用适当的IE。或者,我们需要以某种方式将IE设置为32位默认浏览器。
当我们第一次遇到这个问题时,我是为数不多的Win7用户之一,我们将我pc中的iexplore重新映射为指向32位IE。这种方法工作了几个月,直到我们进行了升级,IE崩溃得非常严重,以至于它根本无法启动,我最终让我的pc重新进行了备份。我不认为这对我们的普通用户来说是一个好的解决方案!
我们是否应该以某种方式获取用户的操作系统,然后调用相应的IE?如何做到这一点?或者,有没有更好的方法来处理这个问题?可能在相当长的一段时间内,可能会有几年的时间内,将会有多种开源软件。
发布于 2011-11-18 02:54:19
您只需调用Process.Start(@"\path\to\file.html")在用户的默认浏览器中打开页面即可。
如果您确实需要32位IE的路径,请调用
Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86),
@"Internet Explorer\iexplore.exe"
)发布于 2011-11-18 02:58:11
Process.Start("http://www.example.com/path/to/file.html");启动URL将打开默认浏览器。不过,这可能不是IE。我还建议使用协议和其他所有内容来格式化url。
https://stackoverflow.com/questions/8172632
复制相似问题