[IE编程] 如何获得IE版本号

程序中使用IE的WebBrowser 控件(MSHTML)或者开发BHO插件的时候,通常需要获得IE的版本号以便做不同处理。这里介绍2中获得IE版本号的方法:

 

1) 通过注册表

IE的版本号信息放在注册表的:

 

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Internet Explorer/Version 

 

注:64位机器的32位IE在 HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Microsoft/Internet Explorer/Version 

 

 

2) 通过读取mshtml.dll 的版本号

 

mshtml是IE的核心DLL之一。 mshtml.dll文件的版本号码和IE的版本号码应该是一致的。以下代码演示如何获得mshtml.dll的版本号。

const TCHAR szFilename[] = _T("mshtml.dll"); DWORD dwMajorVersion =0, dwMinorVersion = 0; DWORD dwBuildNumber =0, dwRevisionNumber = 0; DWORD dwHandle = 0; DWORD dwVerInfoSize = GetFileVersionInfoSize(szFilename, &dwHandle); if (dwVerInfoSize) { LPVOID lpBuffer = LocalAlloc(LPTR, dwVerInfoSize); if (lpBuffer) { if (GetFileVersionInfo(szFilename, dwHandle, dwVerInfoSize, lpBuffer)) { VS_FIXEDFILEINFO * lpFixedFileInfo = NULL; UINT nFixedFileInfoSize = 0; if (VerQueryValue(lpBuffer, TEXT("//"), (LPVOID*)&lpFixedFileInfo, &nFixedFileInfoSize) &&(nFixedFileInfoSize)) { dwMajorVersion = HIWORD(lpFixedFileInfo->dwFileVersionMS); dwMinorVersion = LOWORD(lpFixedFileInfo->dwFileVersionMS); dwBuildNumber = HIWORD(lpFixedFileInfo->dwFileVersionLS); dwRevisionNumber = LOWORD(lpFixedFileInfo->dwFileVersionLS); } } LocalFree(lpBuffer); } } printf("mshtml.dll VersionInfo: /n/tMajorVersion=%d/n/tMinorVersion=%d/n/tBuildNumber=%d/n/tRevisionNumber=%d/n", dwMajorVersion, dwMinorVersion, dwBuildNumber, dwRevisionNumber);

 

 

通过以上2种方法获得 MajorVersion, MinorVersion, BuildNumber, RevisionNumber 之后,你可以查询我之前的blog文章 《IE 版本号大全》里面的那个表来判断是那个IE发行版本。

 

相关Blog文章:

IE8 正式版(RTM) 的版本号: 8.0.6001.18702
[IE编程] IE 版本号大全

 

 

>> 原创文章的版权属于作者,转载请注明出处和作者信息(http://blog.csdn.net/WinGeek/), 谢谢。 <<<

 

 

 

转载于:https://www.cnblogs.com/ajuanabc/archive/2009/04/18/2462611.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值