[IE编程] 如何获得IE版本号
生活随笔
收集整理的這篇文章主要介紹了
[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的版本號。 view plaincopy to clipboardprint?
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);?
??? 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 版本號大全
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);?
??? 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 版本號大全
總結
以上是生活随笔為你收集整理的[IE编程] 如何获得IE版本号的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java里的按值传递与引用传递
- 下一篇: ccna学习笔记之五:路由器密码恢复