Windows Немного о CLSID

Может относиться для любой версии Windows

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
14,072
Реакции
5,791
Немного о CLSID

Здесь можно найти информацию о CLSID:

Источник 1
Источник 2


Итак, что же есть по сути CLSID?

Из справки microsoft следует, объект clsid имеет право на то, что бы его называли программой-оболочкой для глобального уникального идентификатора (GUID) для COM-класса.
А так же приведу цитату следующего содержания:
CLSID — аббревиатура для идентификатора класса, точно так же как GUID — аббревиатура для глобального уникального идентификатора. Обе аббревиатуры являются 128-битными (16 байт) целыми числами с малой вероятностью совпадения, поэтому они могут быть использованы в компьютерах и сетях в качестве уникальных идентификаторов. Обычно идентификатор представляется либо 16-элементным байтовым массивом либо специально отформатированной строкой шестнадцатеричных цифр (где символы a—f или A—F представляют десятичные цифры 10—15. Это строковое представление состоит либо из 32 последовательных шестнадцатеричных цифр, либо из групп, состоящих из 8, 4, 4, 4 и 12 шестнадцатеричных цифр, разделенных дефисами. Строковое представление с дефисами при необходимости может быть заключено в фигурные или круглые скобки ({}).

то есть ключ clsid по сути является уникальным именем ,сгенерированный по определенному принципу и несущим в себе ссылку на объект, имя которого было сгенерировано в код CLSID.

Так, давайте немного практики.

Здесь я описал несколько примеров использования ключей CLSID.
Кроме того разного рода функционал может быть добавлен в автозагрузку,использован в каких то своих целях.
Что бы сравнить возможности, я попрошу вас заглянуть в эти три темы по очереди:
Параметры команды shell
Краткий справочник по CLSID
И например вот эта


Посмотрев эти темы мы убедимся, что функционал CLSID довольно обширен и мощный.

итак,clsid-
глобально-уникальный идентификатор, определяющий тип СОМ-объекта. Каждый тип СОМ-объекта (элемент) имеет в реестре свой CLSID, по которому его можно загрузить и контролировать из других приложений.

В реестре мы найдем перечень всех имеющихся ключей CLSID по этому адресу :
Код:
HKEY_CLASSES_ROOT\CLSID

Но стоп!
что же это с ними за подразделы с параметрами?
Такие как этот:
Код:
HKEY_CLASSES_ROOT\CLSID\{0000002F-0000-0000-C000-000000000046}\InprocServer32
Смотрим таблицу:

Раздел реестрОписание
AppID Зависимые AppID с CLSID.
AutoConvertTo Задает автоматическое преобразование данного класса объектов, в новый класс объектов.
AutoTreatAs Автоматически устанавливает CLSID для TreatAs ключ к указанному значению.
AuxUserType Определяет короткие имена и отображаемое имя приложения.
Control Определяет объект как элемент Управления ActiveX.
ConversionИспользуется Conversion диалоговое окно для определения форматов.
DataFormats Определяет форматы по умолчанию и данные, которые поддерживаются приложением.
DefaultIcon Иконка используемая по умолчанию для объекта.
InprocHandler Указывает, использует ли приложение пользовательский обработчик.
InprocHandler32 Указывает, использует ли приложение пользовательский обработчик.
InprocServer Задает путь к in-process server DLL.
InprocServer32 Регистрация 32-bit in-process server и определяет модель потоков на сервере,которые могут работать в домашней группе.
Insertable Указывает на то, что у объекта этого класса должно появиться в Insert Object диалоговое окно списка при использовании COM-контейнер приложений.
Interface Указывает, что у объекта этого класса должен появиться в Insert Object диалоговом окне списка, когда используется приложениями COM контейнеров.
LocalServer Задает полный путь к 16-бит локального сервера приложений.
LocalServer32 LocalServer32 определяет местоположение приложения COM-сервера для запуска приложений локального сервера.
MiscStatus Определяет, как создать и отобразить объект.
ProgID Ассоциированные ProgID с CLSID.
ToolBoxBitmap32 Определяет имя модуля и идентификатор ресурса для изображения (16 х 16) используемого для панели инструментов или кнопки панели инструментов.
TreatAs Определяет CLSID класса, могут имитировать текущий класс.Эмуляция проявляется в способности одного приложения открывать и редактировать объект другого класса, сохраняя исходный формат объекта.
Verb Определяет глаголы, которые будут зарегистрированы для приложения.
Version Указывает номер версии управления.
VersionIndependentProgID Ассоциированные ProgID с CLSID. Это значение используется, чтобы определить последнюю версию объекта application.

Информационная поддержка:
Microsoft Learn: Build skills that open doors in your career


Рекомендую к прочтению:
Windows все - Краткий справочник по CLSID

Дополнительные вопросы и обсуждение темы:
https://www.safezone.cc/threads/sposoby-zapuska-prilozhenij-s-ispolzovaniem-clsid.22879/
 
Последнее редактирование модератором:
Назад
Сверху Снизу