次の方法で共有


ビットマップまたはアイコンを使用してコントロール パネルをブランド化する

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"