在C#中检测操作系统上安装的IE版本?

时间:2009-05-12 00:59:32

标签: c# .net internet-explorer windows-services httpwebrequest

我目前正在管理一个Windows服务,该服务以编程方式生成HttpWebRequest和HttpWebResponse对象,以检索请求的响应消息。

HttpWebRequest的UserAgent属性被硬编码为使用IE 6作为浏览器代理。是一种在程序上检测托管服务的服务器上安装了哪个版本的IE的方法吗?

它目前托管在Windows Server 2003计算机上,可能安装在Windows Server 2008计算机上。

2 个答案:

答案 0 :(得分:2)

如果您创建了一个:

,也可以从WebBrowser控件本身中提取它
WebBrowser  browser = new WebBrowser();
Version ver = browser.Version;

警告:必须从STA线程调用此方法,否则会引发异常。 这可以在MSTest清理代码中遇到,它是MTA,而不是STA。

答案 1 :(得分:0)

看起来可以设置用户代理:http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.useragent.aspx

我最近更喜欢WebClient类,它是HttpWebRequest的包装器,允许你用更少的代码做一些事情:http://msdn.microsoft.com/en-us/library/system.net.webclient.aspx