Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.15;
Скачать: CL | DM;

Вниз

работа с чужими приложениями   Найти похожие ветки 

 
RRR ©   (2004-07-05 12:50) [0]

Здравствуйте!
Обстоятельства складываются так, что мне необходима помощь. Суть проблемы в следующем.
Из моего приложения пользователем открывается файл для просмотра и редактирования. Это может быть любой файл. В зависимоти от расширения файл запускается соответствующее приложение: ShellExecute(...) (м.б. надо как-то иначе...) . Необходимо перехватить сохранение этого файла и записать его с нужным именем, которое формируется в моем приложении без участия пользователя. Хорошо бы при сохранении файла просто вывести сообщение о том, под каким именем этот файл будет сохранен.
Мне удалось узнать handle открывающегося с файлом приложения. Видимо, надо поставить ловушку... Но я не знаю как это лучше сделать и как из моего приложения передать в ловушку вычисленный handle... (с ловушками никогда дело иметь не приходилось). Может быть в данном вопросе нужно какое-то иное решение...
Заранее благодарю всех откликнувшихся.


 
Digitman ©   (2004-07-05 13:31) [1]


> RRR ©   (05.07.04 12:50)  


общего решения нет

приводи конкретный частный случай ShellExecute-вызова - тогда можно будет о чем-то конкретном говорить


> удалось узнать handle открывающегося с файлом приложения


у приложения нет хэндла


 
RRR ©   (2004-07-05 14:12) [2]

Файл запускается следующим образом:
ShellExecute(Handle, nil, PChar(OpenDialog.FileName),
                  nil, nil, SW_RESTORE);
или
ShellExecute(Handle, nil, PChar(Adress.Text),
                  nil, nil, SW_RESTORE);
Имя файла формируется с учетом значения полей базы данных, связанных с этим файлом.  Приложения, связанные с этим файлом м.б. любыми ( Word, CorelDraw, AutoCad и т.д.). Надо сохранить файл так, чтобы пользователь в этом процессе не участвовал и не плодил всевозможных названий файлов в неправильных местах.


 
RagE ©   (2004-07-05 15:04) [3]

Если я правильно понял то тебе нужно работать через OLE для каждого конкретного случая и оттуда сохранять


 
RRR ©   (2004-07-05 16:23) [4]

к сожалению, OLE поддерживает не все приложения. То, что не поддерживается открывается в новом окне, в котором есть возможности сохранения файлов...Что, как мне кажется, приводит к ситуации, описанной выше...



Страницы: 1 вся ветка

Текущий архив: 2004.08.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.045 c
1-1091186987
Вика
2004-07-30 15:29
2004.08.15
пересечения диапазонов


14-1091097859
Piter
2004-07-29 14:44
2004.08.15
Комп виснет от перегрева


1-1091204566
jenbond
2004-07-30 20:22
2004.08.15
Получению курса валюты


10-1028103540
А. Н. Оним
2002-07-31 16:55
2004.08.15
Передача методу COM-сервера объекта(TClientDataSet) в параметре


14-1091104964
СатирЪ
2004-07-29 16:42
2004.08.15
Сохранение формы в run-time