979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
1

Как выполняется регистрация OLE программы?

23.07.2015, 18:03. Показов 1973. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здорова!
Создал программу SDI в MFC с поддержкой автоматизации, и там создался файл .reg и в нем написано идентификатор программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
REGEDIT
; Возможно, этот файл .REG используется программой установки.
;   Если программа SETUP недоступна, записи, расположенные ниже, будут зарегистрированы
;   в InitInstance автоматически с вызовом в
;   CWinApp::RegisterShellFileTypes и COleObjectFactory::UpdateRegistryAll.
 
 
HKEY_CLASSES_ROOT\MyOleClock.Document = MyOleClock.Document
 
 
HKEY_CLASSES_ROOT\MyOleClock.Document\CLSID = {9387071F-4929-4D62-8E7F-66914496A0D1}
 
HKEY_CLASSES_ROOT\CLSID\{9387071F-4929-4D62-8E7F-66914496A0D1} = MyOleClock.Document
HKEY_CLASSES_ROOT\CLSID\{9387071F-4929-4D62-8E7F-66914496A0D1}\ProgId = MyOleClock.Document
 
HKEY_CLASSES_ROOT\CLSID\{9387071F-4929-4D62-8E7F-66914496A0D1}\LocalServer32 = MyOleClock.EXE
тут получается идентификатор MyOleClock.Document. В самой программе никак не могу его найти, использовал поиск по файла. Если просто создаем класс с идентификатором то там создается макрос IMPLEMENT_OLECREATEи он регистрирует
C++
1
2
IMPLEMENT_OLECREATE(CEx25bAuto, "Auto", 0xa9515ad8, 0x5b85, 
    0x11d0, 0x84, 0x8f, 0x0, 0x40, 0x5, 0x26, 0x30, 0x5b)
Тут получается progID Auto. А где происходит регистрация для SDI приложений. Где это "MyOleClock.Document" добавляется в реестр?

Добавлено через 19 минут
И как мне поменять имя для OLE объекта? Я заменил в этом файле .reg MyOleClock.Document на MyOleClock.Document1. и толку ничего не поменялось, нужно где то в файле менять. Где то там оно создается имя, а где хз.

Добавлено через 15 минут
Похоже для SDI приложений нельзя изменить, это похоже стандартное имя которое регистрирует функция COleObjectFactory::UpdateRegistryAll();, А если я файлы имени изменю у меня уже другие имена появятся или мастер их не по именам файлов создает. Откуда появилось это имя MyOleClock.Document и где его можно поменять?

Добавлено через 4 часа 16 минут
Разобрался находится в ресурсах, в строковом параметре IDR_MAINFRAME

Добавлено через 2 минуты
а сам GUID находится в Cpp файле класса документа. Его регистрирует функция UpdateRegistry в Функции InitInstense приложения, обновляет реестр windows на основе строкового реестра IDR_MAINFRAME
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.07.2015, 18:03
Ответы с готовыми решениями:

Регистрация OLE сервера и корректная работа control-ов
Здравствуйте всем. 1. Я установил Trial версию TeeChart ActiveX (Microsoft Access 2013) 2....

Activ-X и OLE: при добавлени в форму он заявляет что объект не зарегестрирован и требуется регистрация
Кто может помочь. У меня Activ-X- элемент (расширение *.ocx) стороннего разработчика. Инсталяция...

Регистрация программы на Delphi (как обойти)
Всем привет! помогите мне пожалуйста если сможете. Я не давно наткнулся на одну интересную...

Как увидеть содержание типа OLE Object с помощью Delphi-Ole Conteiner?
Привет всем, я из Болгарии у меня такой вопрос: я работю с MSAccess и в ней есть Table и Field с...

0
23.07.2015, 18:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.07.2015, 18:03
Помогаю со студенческими работами здесь

Php регистрация , не могу найти ошибку. Код выполняется, но в базу данных ничего не добавляется
<?php if (isset($_POST)) { $login= htmlspecialchars($_POST);...

Как выбрать Ole файл в диалоговом окне и присвоить его к компоненту "Обложка(Присоединенный ole)"?
Как выбрать Ole файл в диалоговом окне и присвоить его к компоненту "Обложка(Присоединенный ole)"?...

Регистрация программы
Доброго времени суток. У меня такая проблемка. Я создал текстовый редактор на дельфи и необходимо...

Работа с OLE. Вставка времени, даты и иконки программы.
Добрый день, подскажите, пожалуйста как вставить время, дату? Пыталась вставить иконку, ошибка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru