Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
atos
0 / 0 / 0
Регистрация: 10.12.2009
Сообщений: 34
#1

Процесс регистрации элемента ActiveX - C++

26.12.2009, 23:53. Просмотров 1298. Ответов 2
Метки нет (Все метки)

Объясните пожалуйста процесс регистрации элемента ActiveX.

Запуск regsvr32.exe c параметрами:
regsvr32 MyActiveX.ocx
затем
regsvr32 /u MyActiveX.ocx

Так рекомендуют делать в Activex с www.codeproject.com

Непонятно зачем вторая строка. Или она просто убирает элемент из регистрации?

Еще вопрос: можно ли как-то автоматически регистрировать ActiveX на каждом компьютере куда перепишут программу чтобы не напрягать пользователя?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2009, 23:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Процесс регистрации элемента ActiveX (C++):

Процесс А инициализирует массив случайными значениями и записывает их в файл, а затем запускает процесс Б - C++
В универ нужно сделать лабу по выше указанной теме. Мне не нужно чтобы за меня делали - нужен просто совет. Для начала: Задание:...

Есть процесс A и дочерний процесс B, который находит хэндл родительского процесса A. И этот хэндл в разных случаях РАЗНЫЙ! Почему? - C++
Друзья! Вот код A.exe, суть которого просто стать родительским для B.exe и висеть в системе. #include <stdio.h> #include <windows.h>...

Определить номера минимального элемента массива и элемента, являющегося минимальным без учета этого элемента. - C++
Дан массив. Определить номера минимального элемента массива и элемента, являющегося мини-мальным без учета этого элемента.

Вставка элемента в заданную позицию, удаление элемента по заданной позиции, поиск заданного элемента - C++
Добавить в класс "Односвязный список" следующие функции: вставка элемента в заданную позицию, удаление элемента по заданной позиции, поиск...

Как использовать ActiveX без регистрации - .NET
Привет! Моя прога использует один ActiveX-контрол и я не хочу регистрировать его под WinXP. Возможно ли использовать ActiveX без...

Ошибка при регистрации ActiveX DLL - (0x80004005) - Visual Basic
Хочу зарегистрировать новую версию ActiveX DLL, сначала снимаю регистрацию, а после regsvr32.exe <.dll> получаю ошибку 'DllRegisterServer...

2
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
28.12.2009, 21:41 #2
Не хотелось мне пускаться в пространные рассуждения по этому широко освещенному в прессе вопросу, но видимо придетя, раз уж все молчат.

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

На самом деле все очень просто, задача утилиты regsvr32 - загрузить динамическую библиотеку (не имеет значения, что расширение у файла ocx, под этим расширением скрываются более или менее известные всем внутренности файлов dll), следующий шаг выполняемый программой regsvr32 зависит от ключа /u, есил таковой был задан, то утилита старается найти и выполнить функцию DllUnregisterServer, иначе запускается на выполнение метод DllRegisterServer. Вся логика внесения и удаления данных из реестра осуществляется самой библиотекой. Если regsvr32 удалось найти соответствующую функцию и она выполнилась и код возврата соответствует константе S_OK, тогда regsvr32 с радостью сообщает нам об успешной регистрации компоненты, хотя таковой возможно и не произошло.

Что же должно быть прописано в реестре и удалено из последнего при регистрации и удалении это очень долгий разговор, там есть много тонкостей и ньюансов. И в принципе при использовании библиотек и современных инструментов для разработки ActiveX компонентов сейчас это знать совсем не обязательно. Они берут всю рутину этоо процесса на себя, если все же это очень очень интересно, то рекомендую почитать какую-нибудь книжку по программированию COM.

Для начала можно даже взглянуть вот на эту статейку
http://msdn.microsoft.com/library/en-us/mmc/mmc/registering_and_unregistering_a_snap_in.asp

Удачи, Владимир
0
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
29.12.2009, 11:06 #3
Что-то меня вчера развело, а на поставленные вопросы я так и не ответил. Приношу свои извинения и постораюсь исправится. Итак, исходя из всего выше сказанного:

1. Да, Ваше предположение на счет строки 'regsvr32 /u MyActiveX.ocx' абсолютно верное. Эта строка предполагает убрать данные о компоненте из реестра (ужас! как можно перевести слово unregister, кто нибудь знает?)

2. Автоматическую регистрацию библиотеки COM объектов (ActiveX control как вариант) можно сделать самостоятельно и без использования утилиты regsvr32, достаточно лишь вызвать функцию DllRegisterServer файла/библиотеки, содержащей соответствующе компоненты.

С уважением, Владимир
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.12.2009, 11:06
Привет! Вот еще темы с ответами:

Изменить процесс регистрации WordPress - WordPress
Народ нужно заменить email/пароль на номерТелефона/sms пароль? Кто делал, реально возможно? ps: также и процесс восстановления пароля...

Завершение регистрации - как поймать процесс RegSvr32? - Visual Basic
Как поймать процесс RegSvr32 например я вызываю: Call Shell("RegSvr32 /s " & Name) 'Регистрация но так-как у меня это работает...

ActiveX регистрация элемента - MS Access
Мне необходимо использовать mshflxgrd.ocx контрол в форме проекта MS Access. Но вставить этот контрол на форму не получается. Появляется...

Прозрачность элемента управления ActiveX MFC - C++ COM
Подскажите, пожалуйста, в чем проблема, уже несколько дней сижу и неполучаеться. Создал элемент управления ActiveX MFC, хочу сделать его...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru