1

我需要确定 Windows Mobile 6.1 设备上的 Mobile Internet Explorer 版本。这样我就可以报告与 Mobile Internet Explorer 使用的相同的用户代理字符串。用户代理字符串格式最近已更改为包含版本信息。

我的应用程序在 Windows Mobile 设备上运行,使用WebBrowser控件创建浏览器外壳。

API 返回的ObtainUserAgentString()值与 Mobile Internet Explorer 使用的值不同。

当我尝试从“IExplore.exe”获取版本信息时,GetFileVersionInfoSize()返回 0,aGetLastError()为 0x716。很可能是因为 IE Mobile 是 XIP。

是否有其他方法可以确定 Mobile Internet Explorer 版本?

4

2 回答 2

1

我不知道 IEMobile 自己的 API,但是如何将一些 JScript 注入浏览器控件的 Document 并访问navigator.userAgent

(不过,请为 Windows Mobile 6.5 的头痛做好准备。WebBrowser 控件的行为方式与浏览器本身不同。IEMobile 的版本号在 6.5 和 6.1.4 上是相同的,尽管在两者非常不同。叹息。)

于 2009-11-14T01:20:00.977 回答
0

IE 移动通常使用带有“Windows CE”或“Windows Mobile”之类的用户代理。要确定这一点,只需做一个简单的:

myUserAgentString = request.getHeader("User-Agent")
if ( myUserAgentString.indexOf("CE") >= 0 || myUserAgentString.indexOf("MOBILE") >= 0) {
  //this is IE
}

一旦你检测到它,你就可以把它当作 IE 来处理,如果这是你想要的。

于 2009-11-14T00:21:11.610 回答