Поделиться через


Фирменная символика панель управления с помощью растровых изображений или значков

В Windows XP и более поздних версиях Windows звуковое приложение в панель управления поддерживает фирменную символику элементов управления звуковыми устройствами сторонних производителей. Независимые поставщики оборудования (IHV) могут отображать следующие элементы рядом с элементами управления для своих звуковых устройств:

  • Логотип компании

  • Имя собственного устройства

INF-файл, устанавливающий драйвер устройства, также загружает данные настройки панель управления в реестр. Битовые изображения логотипов компании содержатся в самих установленных файлах драйверов.

В Windows XP сведения о фирменной символике видны пользователям в следующих расположениях программ:

  • Страница "Громкость" приложения "Звуки и звуковые устройства" в панель управления (Mmsys.cpl)

  • Программа SndVol32 (Sndvol32.exe)

В Windows Vista сведения о фирменной символике отображаются пользователям на страницах Воспроизведение и запись приложения "Звук" в панель управления (Mmsys.cpl).

Сведения о фирменной символике хранятся в реестре в подразделе Фирменная символика под корневым ключом звукового устройства, который находится в разделе медиакласса. Подраздел Фирменная символика может содержать одно или несколько значений REG_SZ, показанных в следующей таблице.

Имя значения Значение

icon

Имя файла, содержащего значок, используемый в меню элементов управления SndVol32.

bitmap

Имя файла, содержащего растровое изображение 32 на 32, отображаемое на странице Громкость приложения "Звуковые и звуковые устройства" в панель управления.

Эти значения добавляются в реестр директивами в разделе add-registry-section (см. директиву INF AddReg) INF-файла, устанавливающего драйвер устройства. панель управления использует значения по умолчанию для всех значений, отсутствующих в подразделе Фирменная символика.

Слева от имени собственного устройства в верхней части страницы Том отображается точечный логотип. Логотип icon отображается в левом верхнем углу меню элементов управления SndVol32.

Имя собственного устройства, которое отображается на ранее упомянутых страницах, является понятным именем устройства. Это понятное имя задается директивой в разделе add-registry-section INF-файла, устанавливающего устройство. Эта директива содержит ключевое слово "FriendlyName", как показано в примере в директиве INF AddReg. В Windows XP на странице Том и SndVol32 отображаются только первые 31 символ строки имени. Более длинные строки усекаются. В Windows Vista и более поздних версиях Windows это ограничение в 31 символ снимается при отображении имени устройства в панель управления. При использовании API- интерфейсов, поддерживаемых в версиях Windows, предшествующих Windows Vista, например MCI_GetDevCaps, ограничение в 31 символ по-прежнему применяется к имени устройства, которое вы указываете в API.

Важно В Windows Vista и более поздних версиях Windows использование растровых изображений для фирменной символики сторонних производителей больше не поддерживается. Сторонние разработчики аудиодрайвов, которые хотят заклеймить элементы управления звуковыми устройствами, должны использовать значки. Поддерживаемые размеры пикселей для этих значков : 32x32 или 48x48.

Пример 1

В следующем примере показана пара директив из раздела add-registry-section INF-файла поставщика:

  [XYZ-Audio-Device.AddReg]
  HKR,Branding,icon,,"foo.sys,102"
  HKR,Branding,bitmap,,"c:\mydir\myimage.bmp"

Эти директивы добавляют в реестр сведения о фирменной символики панели управления. HKR представляет корневой ключ звукового устройства в реестре; Подраздел Фирменная символика указывается относительно имени пути для корневого ключа. Строковое значение для значка или ключа растрового изображения можно указать в одном из двух форматов: file, resourceid или imagefile. В первой директиве в предыдущем примере используется формат "file,resourceid". Директива присваивает ключу значка строковое значение, содержащее имя файла, foo.sys и идентификатор ресурса 102. Имя файла и идентификатор ресурса разделяются запятой (без пробелов). Файл foo.sys содержит ресурс значка. Вторая директива в предыдущем примере присваивает ключу растрового рисунка строку в формате imagefile; Строка содержит полный путь к файлу .bmp, который содержит растровое изображение.

Директиву примера для значения значка можно изменить для использования формата imagefile, но в этом случае строковое значение должно содержать имя пути к файлу с расширением ICO.

В случае формата "file,resourceid" программное обеспечение панели управления выполняет поиск по тому же списку путей поиска, что и функция LoadLibrary (описано в документации по Microsoft Windows SDK). Если этот список путей не содержит файл, программное обеспечение также выполняет поиск в каталоге драйверов (см. раздел INF DestinationDirs). Этот формат позволяет легко хранить изображения в самом файле драйвера без необходимости указывать абсолютные имена путей в INF-файле.

Пример 2

Следующий пример применяется к Windows Vista и более поздним версиям Windows. В этом примере показана директива из раздела add-registry-section INF-файла поставщика. В этом примере используется формат imagefile:

[ABC-Audio-Device.AddReg]
  HKR,Branding,icon,,"c:\mydir\myicon.ico"