シェルバージョン情報を表示する

test60_01.gif
図のようなバージョン情報画面を表示するためのAPIとしてShellAboutが用意されている。
このAPIは自分が開発したアプリケーションで利用できるように作られている。図の例であれば「aaaaのバージョン情報」やCopyrightの下に「bbbbb」というような表示があったり、レジストリエディタのアイコンが使われている。これらを自由に指定できる。

test60_02.gif
このShellAboutはWindows 95以降でサポートされているのでOS依存性もなく使いやすい。しかしながら、OSによって見た目が大きく変わるのが難点。

図はWindows VistaでのShellAbout。

test60_03.gif
こちらはWindows 2000。

test60_04.gif
そしてWindows 98 SE。


#include "shellapi.h"


bool	Test(void)
{
	BOOL		ret;
	HICON		hIcon;
	SHFILEINFO	sShFileInfo;

	//アイコンの読み込み
	::ZeroMemory(&sShFileInfo,sizeof(SHFILEINFO));
	::SHGetFileInfo(_T("c:\\windows\\regedit.exe"),0,&sShFileInfo,sizeof(SHFILEINFO),SHGFI_ICON | SHGFI_LARGEICON);

	hIcon = sShFileInfo.hIcon;
	if(hIcon == NULL)
		return	false;

	ret = ::ShellAbout(NULL,_T("aaaa"),_T("bbbbbb"),hIcon);


	//アイコンの破棄
	::DestroyIcon(hIcon);

	return	ret ? true : false;
}

プロジェクトファイルをダウンロード


カテゴリー「システム情報」 のエントリー