社本@元ネオニート Blog

社本@元ネオニート (元々ワック) のいたずら書き (for Programmers)

AILight Banner
AILight Blog

プロフィール

社本@元ネオニート Blog
働いたら負けかなと思っていたのですが。。とうとう働き始めました。アメリカのシアトル・エリアにある企業向けのバックアップソフトを開発している会社です。日本人は私だけ。なんとか。。やっていけてるようです。

目次

Blog 利用状況

記事分類

過去の記事

タグ

SHLWAPI のバージョン - SHLWAPI/Internet Explorer

> SHLWAPI 5.0 って...IE5でしたっけ?

SHLWAPI の QISearch API を紹介した際の、とっちゃんからのコメントですが、答えは Yes です。
shldocvw.dll のバージョンと同一と考えると分かりやすいでしょう。

以下が、各IEのバージョンごとの shlwapi.dll/shldocvw.dll のファイル・バージョンとなります。

・IE 3.x     maj=4 min=70
・IE 4.0     maj=4 min=71
・IE 4.01   maj=4 min=72
・IE 5.0     maj=5 min=00
・IE 5.5     maj=5 min=50
・IE 6.0     maj=6 min=00


最後に、SHLWAPI のバージョンを取得する関数を、紹介します。

---
static HRESULT AtlGetShlwapiVersion(LPDWORD pdwMajor, LPDWORD pdwMinor)
{
 ATLASSERT(pdwMajor != NULL && pdwMinor != NULL);
 if (::IsBadWritePtr(pdwMajor, sizeof(DWORD)) || ::IsBadWritePtr(pdwMinor, sizeof(DWORD)))
  return E_INVALIDARG;

 DLLVERSIONINFO dvi;
 ::ZeroMemory(&dvi, sizeof(dvi));
 dvi.cbSize = sizeof(dvi);
 HRESULT hRet = AtlGetDllVersion(_T("Shlwapi.dll"), &dvi);

 if (SUCCEEDED(hRet))
 {
  *pdwMajor = dvi.dwMajorVersion;
  *pdwMinor = dvi.dwMinorVersion;
 }
 else if (hRet == E_NOTIMPL)
 {
  // If DllGetVersion is not there, then the DLL is a version
  // previous to the one shipped with IE 3.x
  *pdwMajor = 4;
  *pdwMinor = 0;
  hRet = S_OK;
 }
 return hRet;
}
---


■SHLWAPI.DLLのバージョンの取得 [ATL] - for Programmers
http://www.wac-jp.com/programmers/win32/AtlGetShlwapiVersion.html

投稿日時 : 2006年6月30日 18:52


コメントを追加

#  re: SHLWAPI のバージョン - SHLWAPI/Internet Explorer 2006年6月30日 19:46 とっちゃん

情報どうもです(^^;

Shell32 や ComCtl32 は以前はチェックの必要があったのですが...
当時の Shlwapi にあったやつは殆ど自前で持ってたし(^^;

実質 4.01 あたりでAPI の利用は固定しちゃってるので...
かなり疎遠(^^;

公式には IE6 が必須ってことになってるけど(^^;
タイトル
名前
URL
コメント