powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / OLE сервер (Embedding)
6 сообщений из 6, страница 1 из 1
OLE сервер (Embedding)
    #34032017
Anasko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.
Понадобилось мне написать на VС++ программу-сервер. Создал по шаблону "волшебника" MFC app, которое использует ActiveX компонет( созданный в дельфе) для своей работы. Все нормально. Со всем разобрался. Программа работает, по ассоциации с типами файлов открывает эти файлы.

НО! Необходимо было сделать приложение, которое embiddiца в explorer (по ассоциации MIME). Оно и embiddiца, только вот проблема: Explorer передает приложению-серверу файл, который нужно открыть. Где(куда) он (IE) передает его? Я никак не могу понять это. В MSDN ни чего не нашел. В inete то же.
...
Рейтинг: 0 / 0
OLE сервер (Embedding)
    #34032298
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AnaskoВсем привет.
Понадобилось мне написать на VС++ программу-сервер. Создал по шаблону "волшебника" MFC app, которое использует ActiveX компонет( созданный в дельфе) для своей работы. Все нормально. Со всем разобрался. Программа работает, по ассоциации с типами файлов открывает эти файлы.

НО! Необходимо было сделать приложение, которое embiddiца в explorer (по ассоциации MIME). Оно и embiddiца, только вот проблема: Explorer передает приложению-серверу файл, который нужно открыть. Где(куда) он (IE) передает его? Я никак не могу понять это. В MSDN ни чего не нашел. В inete то же.

см. параметры IDR_MAINFRAME
если я Вас правильно понял...

(круглый)
...
Рейтинг: 0 / 0
OLE сервер (Embedding)
    #34032356
Anasko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
эээ, не понял. Какие параметры? Оно ж объвлено как:

#define IDR_MAINFRAME 128
...
Рейтинг: 0 / 0
OLE сервер (Embedding)
    #34032446
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anaskoэээ, не понял. Какие параметры? Оно ж объвлено как:

#define IDR_MAINFRAME 128

залазиете в свойства проекта...стринг тайбл...ищите указанную строчку...
после четвёртой "\n" пишите ".xren"

после этого идёте в InitInstance() Вашего апликэйшен... и вставляете магические строчки...

Код: plaintext
1.
2.
3.
4.
	// Enable DDE Execute open

	EnableShellOpen();
	RegisterShellFileTypes(TRUE);

запускаете своё приложение одын раз...
далее создаёте файл

gav.xren

ну и дабл клик на нём...


с уважением
(круглый)
ЗЫ
А может и не в тему... тогда извиняйте...
...
Рейтинг: 0 / 0
OLE сервер (Embedding)
    #34032505
Anasko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
:) А, я сразу не понял. Однако это не то. Это файловые ассоциации. Это все понятно и работает. Попробую еще раз объяснить:

В реестре есть такая штука HLR>Mime>Content Type>application/pdf

Так вот там указан CLSID того приложения, которое является оле-контейнером. И когда IE(не путать с проводником!) наткнется на *.pdf он запустит в себе (embedding) это приложение.
Если система не завалена всяким мусором то это можно увидеть, если в IE, в строке адреса, набрать что-то типа c:\1.pdf то в окне IE отобразится AcrobatReader.

Что мне нужно: как узнать, что мне передается файл c:\1.pdf? Ведь приложение запускается с параметром -Embedding (это точно - я проверил). Никаких файлов ему там не передается. Но ведь AcrobatReader открывает то что ему сказали!

Кстати когда мое приложение запускается можно всякими совтинками посмотреть кто в системе держит файл. Так вот мое приложение будет держать этот файл!!!! А почему, как и где я понять не могу.
...
Рейтинг: 0 / 0
OLE сервер (Embedding)
    #34032566
Anasko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А, чорт. Нешел.

.....::Serialize(CArchive& ar)
{
CFile* fp = ar.GetFile();
вот здесь он и передается.
}
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / OLE сервер (Embedding)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]