Windows Немного о CLSID

Кирилл

Команда форума
Администратор
Сообщения
13,827
Реакции
6,168
Баллы
913
Немного о 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.


Информационная поддержка:
http://msdn.microsoft.com/en-us/


Рекомендую к прочтению:
http://safezone.cc/forum/showthread.php?t=20350

Дополнительные вопросы и обсуждение темы:
http://safezone.cc/threads/sposoby-ispolzovanija-clsid-i-guid.22879/
 
Последнее редактирование:
Сверху Снизу