![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
работа с чужими приложениями [D6, WinXP]
RRR © (2004-07-05 12:50:00)Здравствуйте!
Обстоятельства складываются так, что мне необходима помощь. Суть проблемы в следующем.
Из моего приложения пользователем открывается файл для просмотра и редактирования. Это может быть любой файл. В зависимоти от расширения файл запускается соответствующее приложение: ShellExecute(...) (м.б. надо как-то иначе...) . Необходимо перехватить сохранение этого файла и записать его с нужным именем, которое формируется в моем приложении без участия пользователя. Хорошо бы при сохранении файла просто вывести сообщение о том, под каким именем этот файл будет сохранен.
Мне удалось узнать handle открывающегося с файлом приложения. Видимо, надо поставить ловушку... Но я не знаю как это лучше сделать и как из моего приложения передать в ловушку вычисленный handle... (с ловушками никогда дело иметь не приходилось). Может быть в данном вопросе нужно какое-то иное решение...
Заранее благодарю всех откликнувшихся.
RRR (2004-07-05 16:23:00) [1]к сожалению, OLE поддерживает не все приложения. То, что не поддерживается открывается в новом окне, в котором есть возможности сохранения файлов...Что, как мне кажется, приводит к ситуации, описанной выше...
RagE (2004-07-05 15:04:00) [2]Если я правильно понял то тебе нужно работать через OLE для каждого конкретного случая и оттуда сохранять
RRR (2004-07-05 14:12:00) [3]Файл запускается следующим образом:
ShellExecute(Handle, nil, PChar(OpenDialog.FileName),
nil, nil, SW_RESTORE);
или
ShellExecute(Handle, nil, PChar(Adress.Text),
nil, nil, SW_RESTORE);
Имя файла формируется с учетом значения полей базы данных, связанных с этим файлом. Приложения, связанные с этим файлом м.б. любыми ( Word, CorelDraw, AutoCad и т.д.). Надо сохранить файл так, чтобы пользователь в этом процессе не участвовал и не плодил всевозможных названий файлов в неправильных местах.
Digitman (2004-07-05 13:31:00) [4]
> RRR © (05.07.04 12:50)
общего решения нет
приводи конкретный частный случай ShellExecute-вызова - тогда можно будет о чем-то конкретном говорить
> удалось узнать handle открывающегося с файлом приложения
у приложения нет хэндла