Ключ CLSID
CLSID — это глобальный уникальный идентификатор, идентифицирующий объект COM-класса. Если сервер или контейнер допускают связывание со встроенными объектами, необходимо зарегистрировать идентификатор CLSID для каждого поддерживаемого класса объектов.
Ключ реестра
HKey _ _ \ Классы программного обеспечения локального компьютера \ \ CLSID \ <CLSID >
| Раздел реестра | Описание |
|---|---|
| ИД | Связывает AppID с идентификатором CLSID. |
| аутоконвертто | Задает автоматическое преобразование данного класса объектов в новый класс объектов. |
| аутотреатас | Автоматически задает для идентификатора CLSID для ключа треатас указанное значение. |
| ауксусертипе | Указывает краткое отображаемое имя приложения и имена приложений. |
| Управление | определяет объект как элемент управления ActiveX. |
| Преобразование | Используется диалоговым окном Преобразование для определения форматов, которые приложение может читать и записывать. |
| DataFormats | Указывает форматы данных по умолчанию и основные параметры, поддерживаемые приложением. |
| дефаултикон | Содержит сведения о значке по умолчанию для однообъектных презентаций. |
| инпрочандлер | Указывает, использует ли приложение пользовательский обработчик. |
| InprocHandler32 | Указывает, использует ли приложение пользовательский обработчик. |
| инпроксервер | Указывает путь к DLL внутрипроцессного сервера. |
| InprocServer32 | Регистрирует 32-разрядный внутрипроцессный сервер и задает потоковую модель апартамента, в которой может работать сервер. |
| Insertable | Указывает, что объекты этого класса должны отображаться в диалоговом окне « Вставка объекта » в списке при использовании приложениями-контейнерами com. |
| Интерфейс | Необязательная запись, указывающая все идентификаторы интерфейса (идентификаторов IID), поддерживаемые связанным классом. |
| локалсервер | Указывает полный путь к 16-разрядному приложению локального сервера. |
| LocalServer32 | Указывает полный путь к 32-битному локальному серверному приложению. |
| мискстатус | Указывает, как создать и отобразить объект. |
| ProgID: | Связывает идентификатор ProgID с идентификатором CLSID. |
| ToolBoxBitmap32 | Определяет имя модуля и идентификатор ресурса для точечного рисунка размером 16 x 16, который будет использоваться для кнопки панели инструментов или панели элементов. |
| треатас | Указывает идентификатор CLSID класса, который может эмулировать текущий класс. |
| Команда | Указывает команды для регистрации в приложении. |
| Версия | Указывает номер версии элемента управления. |
| версиониндепендентпрогид | Связывает идентификатор ProgID с идентификатором CLSID. Это значение используется для определения последней версии объектного приложения. |
Remarks
Ключ CLSID содержит сведения, используемые обработчиком COM по умолчанию для возврата сведений о классе, когда он находится в состоянии выполняется.
CLSID — это 128-разрядное число в шестнадцатеричном формате, заключенное в пару фигурных скобок.
Windows Немного о CLSID
Кирилл
Здесь можно найти информацию о CLSID:
Итак,что же есть по сути CLSID?
Из справки microsoft следует,объект clsid имеет право на то,что бы его называли программой-оболочкой для глобального уникального идентификатора (GUID) для COM-класса.
А так же приведу цитату следующего содержания:
Так,давайте немного практики.
Здесь я описал несколько примеров использования ключей CLSID.
Кроме того разного рода функционал может быть добавлен в автозагрузку,использован в каких то своих целях.
Что бы сравнить возможности,я попрошу вас заглянуть в эти три темы по очереди:
Параметры команды shell
Краткий справочник по CLSID
И например вот эта
Посмотрев эти темы мы убедимся,что функционал CLSID довольно обширен и мощный.
раздел реестра |Описание
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.
CLSID Структура
Определение
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Служит программой-оболочкой для глобального уникального идентификатора (GUID) для COM-класса.
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода.
Комментарии
Структура CLSID заключает в оболочку структуру идентификатора класса COM (CLSID), которая служит уникальным идентификатором для конкретного COM-класса.
CLSID — это аббревиатура идентификатора класса, так же, как идентификатор GUID представляет собой аббревиатуру для глобального уникального идентификатора. Обе аббревиатуры ссылаются на 128-разрядное целое число с низкой вероятностью дублирования, чтобы его можно было использовать в качестве уникального идентификатора на компьютерах и в сетях. Как правило, этот идентификатор представляется как массив из 16 элементов в байтах или как специально отформатированную строку шестнадцатеричных цифр (где символы a-f или A-F представляют десятичные числа 10-15). Строковое представление состоит из 32 смежных шестнадцатеричных цифр или групп из 8, 4, 4, 4 и 12 шестнадцатеричных цифр, разделенных дефисами. Строковое представление дефисов может быть заключено в круглые или фигурные скобки ( <> ).
Программировании с помощью структуры CLSID и консоли управления (MMC) см. в разделе руководство программистапо работе с MMC.
990x.top
Простой компьютерный блог для души)
CLSID — что это такое?
Приветствую. Данная заметка посвящена аббревиатуре CLSID. Постараемся выяснить предназначение. Напишу простыми словами, чтобы было понятно каждому.
CLSID — что это?
Уникальный идентификатор COM-класса, используется для вызова обьектов — например папки или окна определенных настроек.
Может использоваться при написании софта, утилит (например на языке программирования C#).
Применение. Например можно создать директорию с расширением, в качестве которого — указать идентификатор CLSID:

В Windows 10 работает например такой способ использования CLSID — передаем идентификатор системной оболочке (Проводник), которая обрабатывает идентификатор и отображает его содержимое. Например зажмите кнопки Win + R > появится окно Выполнить > вставьте данную команду:
После нажатия ОК — откроется Панель управления. Таким образом можно создать и ярлык на рабочем столе, указав в поле расположение обьекта — данную команду.
Идентификаторов — много, с некоторыми из них можно ознакомиться здесь.
Мои мысли
В принципе CLSID — в некотором смысле системные ярлыки (точнее указатели) для показа определенных системных настроек, папок.
При разработке приложения можно использовать данные указатели для функции открытия определенных настроек, директорий или для других задач.
Простому обычному пользователю наиболее полезным будет создание ярлыков. Например контекстное меню Пуска (Win + X) последних билдов Windows 10 уже не содержит пункта Панель управления — можно создать его ярлык на рабочем столе (указав нужный CLSID), после — закрепить плиткой в меню Пуск. Поэтому данные идентификаторы — полезная вещь.
Заключение
CLSID Key
A CLSID is a globally unique identifier that identifies a COM class object. If your server or container allows linking to its embedded objects, you need to register a CLSID for each supported class of objects.
Registry Key
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\<CLSID>
| Registry key | Description |
|---|---|
| AppID | Associates an AppID with a CLSID. |
| AutoConvertTo | Specifies the automatic conversion of a given class of objects to a new class of objects. |
| AutoTreatAs | Automatically sets the CLSID for the TreatAs key to the specified value. |
| AuxUserType | Specifies an application’s short display name and application names. |
| Control | Identifies an object as an ActiveX Control. |
| Conversion | Used by the Convert dialog box to determine the formats an application can read and write. |
| DataFormats | Specifies the default and main data formats supported by an application. |
| DefaultIcon | Provides default icon information for iconic presentations of objects. |
| InprocHandler | Specifies whether an application uses a custom handler. |
| InprocHandler32 | Specifies whether an application uses a custom handler. |
| InprocServer | Specifies the path to the in-process server DLL. |
| InprocServer32 | Registers a 32-bit in-process server and specifies the threading model of the apartment the server can run in. |
| Insertable | Indicates that objects of this class should appear in the Insert Object dialog box list box when used by COM container applications. |
| Interface | An optional entry that specifies all interface IDs (IIDs) supported by the associated class. |
| LocalServer | Specifies the full path to a 16-bit local server application. |
| LocalServer32 | Specifies the full path to a 32-bit local server application. |
| MiscStatus | Specifies how to create and display an object. |
| ProgID | Associates a ProgID with a CLSID. |
| ToolBoxBitmap32 | Identifies the module name and resource ID for a 16 x 16 bitmap to use for the face of a toolbar or toolbox button. |
| TreatAs | Specifies the CLSID of a class that can emulate the current class. |
| Verb | Specifies the verbs to be registered for an application. |
| Version | Specifies the version number of the control. |
| VersionIndependentProgID | Associates a ProgID with a CLSID. This value is used to determine the latest version of an object application. |
Remarks
The HKEY_LOCAL_MACHINE\SOFTWARE\Classes key corresponds to the HKEY_CLASSES_ROOT key, which was retained for compatibility with earlier versions of COM.
The CLSID key contains information used by the default COM handler to return information about a class when it is in the running state.
To obtain a CLSID for your application, you can use the Uuidgen.exe, or use the CoCreateGuid function.
The CLSID is a 128-bit number, in hex, within a pair of curly braces.





