ビットマップまたはアイコンを使用してコントロール パネルをブランド化する
Windows XP 以降のバージョンの Windows では、コントロール パネルのサウンド アプリケーションは、オーディオ デバイス コントロールのサード パーティのブランド化をサポートしています。 独立系ハードウェア ベンダー (IHV) は、オーディオ デバイスのコントロールの横に次の項目を表示できます。
会社のロゴ
独自のデバイス名
デバイス ドライバーをインストールする INF ファイルは、コントロール パネル カスタマイズ データもレジストリに読み込みます。 会社のロゴのビットマップ画像は、インストールされているドライバー ファイル自体に含まれています。
Windows XP では、ブランド化情報は、次のプログラムの場所でユーザーに表示されます。
コントロール パネル (Mmsys.cpl) のサウンドおよびオーディオ デバイス アプリケーションの [音量] ページ
SndVol32 プログラム (Sndvol32.exe)
Windows Vista では、ブランド化情報は、コントロール パネル (Mmsys.cpl) の サウンド アプリケーションの [再生] および [録音]ページでユーザーに表示されます。
ブランド化情報は、メディア クラス キーの下にあるオーディオ デバイスのルート キーの下にある Branding サブキーのレジストリに格納されます。 Branding サブキーには、次の表に示す 1 つ以上の REG_SZ 値を含めることができます。
値の名前 | 意味 |
---|---|
アイコン |
SndVol32 コントロール メニューで使用されるアイコンを含むファイルの名前。 |
ビットマップ |
コントロール パネルのサウンドおよびオーディオ デバイス アプリケーションの [音量] ページに表示される 32 バイ 32 ビットマップを含むファイルの名前。 |
これらの値は、デバイス ドライバーをインストールする INF ファイルの add-registry-section (「INF AddReg ディレクティブ」を参照) 内のディレクティブによってレジストリに追加されます。 コントロール パネルでは、Branding サブキーに含まれていないすべての値に既定値が使用されます。
"bitmap" ロゴは、[音量] ページの上部にある独自のデバイス名の左側に表示されます。 SndVol32 コントロール メニューの左上隅に "アイコン" ロゴが表示されます。
前に触れたページに表示される独自のデバイス名は、デバイスのフレンドリ名です。 このフレンドリ名は、デバイスをインストールする INF ファイルの add-registry-section のディレクティブによって指定されます。 このディレクティブには、INF AddReg ディレクティブの例に示すように、キーワード "FriendlyName" が含まれています。 Windows XP では、[音量] ページと SndVol32 には、名前文字列の最初の 31 文字のみが表示されます。 これより長い文字列は切り詰められます。 Windows Vista 以降のバージョンの Windows では、デバイス名がコントロール パネルに表示されると、この 31 文字の制限は削除されます。 Windows Vista より前のバージョン (MCI_GetDevCaps など) でサポートされていた API を使用する場合、API に対して指定したデバイス名には 31 文字の制限が引き続き適用されます。
重要: Windows Vista 以降のバージョンの Windows では、サードパーティのブランド化にビットマップ画像を使用することはサポートされなくなりました。 オーディオ デバイス コントロールをブランド化するサード パーティのオーディオ ドライバー開発者は、アイコンを使用する必要があります。 これらのアイコンでサポートされているピクセル ディメンションは、32 x 32 または 48 x 48 です。
例 1
次の例は、ベンダーの INF ファイルの add-registry-section からのディレクティブの 2 つを示しています。
[XYZ-Audio-Device.AddReg]
HKR,Branding,icon,,"foo.sys,102"
HKR,Branding,bitmap,,"c:\mydir\myimage.bmp"
これらのディレクティブは、コントロール パネルのブランド化情報をレジストリに追加します。 HKR は、レジストリ内のオーディオ デバイスのルート キーを表します。Branding サブキーは、ルート キーのパス名を基準にして指定されます。 アイコンまたはビットマップ キーの文字列値は、"file,resourceid" または "imagefile" の 2 つの形式のいずれかで指定できます。 前の例の最初のディレクティブは、"file,resourceid" 形式を使用します。 ディレクティブは、icon キーに、ファイル名、foo.sys、およびリソース ID 102 を含む文字列値を割り当てます。 ファイル名とリソース ID は、コンマ (スペースなし) で区切られます。 ファイル foo.sys にはアイコン リソースが含まれています。 前の例の 2 番目のディレクティブは、"imagefile" 形式の文字列を bitmap キーに 割り当てます。文字列には、ビットマップ を含む .bmp ファイルの完全なパス名が含まれています。
icon 値のディレクティブの例では、"imagefile" 形式を使用するように変更できますが、この場合、文字列値にはファイル名拡張子が .ico のファイルのパス名が含まれている必要があります。
"file,resourceid" 形式の場合、コントロール パネル ソフトウェアは LoadLibrary 関数と同じ検索パスの一覧を検索します (Microsoft Windows SDK ドキュメントで説明されています)。 このパスの一覧にファイルが含まれていない場合、ソフトウェアはドライバー ディレクトリも検索します (「INF DestinationDirs セクション」を参照)。 この形式を使用すると、INF ファイルに絶対パス名を指定しなくても、画像をドライバー ファイル自体に簡単に格納できます。
例 2
次の例は、Windows Vista 以降のバージョンの Windows に適用されます。 この例では、ベンダーの INF ファイルの add-registry-section のディレクティブを示しています。 この例では、"imagefile" の形式が使用されています。
[ABC-Audio-Device.AddReg]
HKR,Branding,icon,,"c:\mydir\myicon.ico"