При создании компонент COM OLE ACTIVEX используется уникальный идентификатор. Этот идентификатор необходимо сгенерировать для Вашей программы. Для этого в поставку VC включена утилита GuidGen у меня она находится вот где.
E:\microsoft\Tools
После запуска этой программы у Вас появится диалоговое окно.
Здесь Вы можете создавать новый GUID используя NEW, можете копировать его в разных форматах в последствии вставляя в свой код. Когда Вы вибираете GUID Format внизу у Вас показана текстовая строка, которая будет скопирована в буфер обмена.
Ранее для использования компонент требовалось создание REG файла и явного указания этого номера. На данный момент ситуация немного другая. Многие компоненты созданные на основе DLL умееют сами регистрироваться в реестре и удалять регистрационные записи. Для этой возможности внутри DLL с компонентой должны быть реализованы функции
DllRegisterServer DllUnregisterServer
Зарегистрировать такую DLL можно с помощью утилиты regsvr32.
Откуда же брать еще GUID, кроме как с помощью GUIDGEN ? Вы можете, если конечно собираетесь распространять свои разработки по всему миру, запросить блок из 256 номеров в Microsoft, но кроме этого есть функция в API с именем CoCreateGuid, которая тоже сможет сгенерировать этот номер. Для генерации этого числа используется алгоритм, который гарантирует статистическую уникальность. Для получения этого числа используется
Идентификатор машины и сетевой платы Текущее время и дата Информация о конфигурации системы Случайная компонента
Для использования в программе GUID лучше использовать в качестве обычной константы. Его можно скопировать в такой форме.
// {863FCF40-0BB2-11d4-B050-000001260696} static const GUID <> = { 0x863fcf40, 0xbb2, 0x11d4, { 0xb0, 0x50, 0x0, 0x0, 0x1, 0x26, 0x6, 0x96 } };
Там где написано NAME можно и нужно вписать имя Вашей константы.