imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 29.04.2003, 11:57     # 1
Slavok
Guest
 
Сообщения: n/a

Thumbs up MS Word из под Delphi (+программа и исходники)

Привет! :hi:
Давайте немного разберёмся с компанентой WordApplication выложенной на вкладке servers. По этой теме я нашел довольно много информации, но, то что искал я таки найти не смог. Если кто может помочь, давайте разберёмся вместе!
Ниже я привёл интересные ссылки, на которые я наткнулся:[list=1][*]Хорошая подборка о работе с MS Office[*]Ещё одна хорошая статья... [/list=1]
А теперь немного о поставленной передо мной задаче:
Я использую Delphi 7, с установленной библиотекой RXLib (для Delphi 7).
Мне надо написать программу, которая будет копировать все открытые в Word'е файлы в нужное мне место. Это нужно мне для того, чтобы украсть некоторые файлы с дискеты моего начальника. Так вот, я замаскировал свою программу под программу, которая оптимизирует память. Тот код, который я уже написал, я приложу к этой мессаге вместе с программой.
Моя программа при запуске создаёт папку, имя которой - дата запуска программы, и оседает в трей. Всё бы хорошо, если б не такая заминка :
Как известно, при запуске приложения в котором используется наша компанента, в процессах появляется WINWORD.EXE. При просмотре первого документа в Word, моя программа работает нормально, но стоит его закрыть (если во время просмотра этого документа были открыты другие документы, то их тоже все надо закрыть), как процесс WINWORD.EXE исчезает, а при следующем открытии документов, моя программа просто перестаёт за ними следить, и сидит себе в памяти, ничего не делая...
Я прошу у вас помощи, если кто знает, как мне сделать конект к новому Word-приложению, предварительно проверив, не приконекчена ли уже моя программа... А может кто-то предложет более лучший способ...
На сем прощаюсь с вами, жду ответов.

.................
Мой ящичек
.................
Вложения
Тип файла: zip example.zip (281.2 Кбайт, 37 просмотров - Кто скачивал? )

Последний раз редактировалось Slavok; 29.04.2003 в 12:21.
 
Старый 29.04.2003, 12:32     # 2
madmoor
Full Member
 
Аватар для madmoor
 
Регистрация: 04.01.2003
Адрес: Latvia
Сообщения: 800

madmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собой
Slavok
Z Я вершенно не разбираюсь в программировании, но задача мне понятна. Так вот, подумалось мне... Ворд при открытии файла создает его темповую копию - хидден-файл. Почему бы не отслеживать таковые и не заставить комп просто копировать их в определенное место? Сорри, если что не то сморозил...
__________________
Esa hora irá creciendo cada día que pase, esa hora ya no parará más
madmoor вне форума  
Старый 29.04.2003, 12:44     # 3
Slavok
Guest
 
Сообщения: n/a

Wink

Идея конечно хорошая, на как это делать? Ведь с дискет эти файлы записуются в одно место (в TEMP наверное), с винта в другое (в той же папке, которой и сам документ). Мне кажется, что этот способ сложнее, чем тот, который выбрал я...
 
Старый 29.04.2003, 13:20     # 4
madmoor
Full Member
 
Аватар для madmoor
 
Регистрация: 04.01.2003
Адрес: Latvia
Сообщения: 800

madmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собой
http://moor.prolined.lv/tmp/param.gif

Вот смотри. Если мы поставим сохранение локальных копий, автосохранение через минуту, а потом будем просто отслеживать все ворд-файлы в заданных директориях и обновления в них? Типа прог, которые синхронизируют папки... Блин, как жаль, что сейчас наших программеров на месте нету
__________________
Esa hora irá creciendo cada día que pase, esa hora ya no parará más
madmoor вне форума  
Старый 29.04.2003, 13:33     # 5
madmoor
Full Member
 
Аватар для madmoor
 
Регистрация: 04.01.2003
Адрес: Latvia
Сообщения: 800

madmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собой
Тут мне подсказывают... Идея такая: так как документ был закрыт, то повторное обращение проги к Ворду через компонент вызовет EXEPTION. Его надо вскрыть через TRY-EXEPT и в блоке EXEPT повторить коннекшн к документам Ворда... Что это значит именно, я не совсем понял, но подсказал чел умный
Изображения
Тип файла: gif param.gif (11.3 Кбайт, 14 просмотров - Кто скачивал? )
__________________
Esa hora irá creciendo cada día que pase, esa hora ya no parará más
madmoor вне форума  
Старый 29.04.2003, 13:45     # 6
Slavok
Guest
 
Сообщения: n/a

[QUOTE] вызовет EXEPTION. Его надо вскрыть через TRY-EXEPT и в блоке EXEPT повторить коннекшн к документам Ворда... /QUOTE]


Нет там эксепшена. Мне через таймер его что ли делать? Всё время конектиться? Это не хороший тон программирования...
 
Старый 29.04.2003, 14:03     # 7
madmoor
Full Member
 
Аватар для madmoor
 
Регистрация: 04.01.2003
Адрес: Latvia
Сообщения: 800

madmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собой
А если прогу привязать не к процессу винворд, а к открытию или сохранению файла DOC?
__________________
Esa hora irá creciendo cada día que pase, esa hora ya no parará más
madmoor вне форума  
Старый 29.04.2003, 15:29     # 8
Slavok
Guest
 
Сообщения: n/a

А как это сделать? Отслеживать все обращения в системе к каким-нибудь файлам, и если у них расширение *.doc, то копировать? Мне кажется, что будет сильно компьютер тормозить из-за этого... Может я чего не понял, напиши поподробнее...

---------------------
С уважением, Slavok
 
Старый 29.04.2003, 16:00     # 9
madmoor
Full Member
 
Аватар для madmoor
 
Регистрация: 04.01.2003
Адрес: Latvia
Сообщения: 800

madmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собойmadmoor Имеются все основания чтобы гордиться собой
Slavok
Если честно, не знаю, и спросить пока не у кого. Но я бы пытался отслеживать сохранение док-файлов. Кста, какая система? Если 98 (то есть если есть ДОС), то, говорят, проще...
__________________
Esa hora irá creciendo cada día que pase, esa hora ya no parará más
madmoor вне форума  
Старый 30.04.2003, 06:03     # 10
helldomain
Administrator
 
Аватар для helldomain
 
Регистрация: 13.05.2002
Сообщения: 11 227

helldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиург
helldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиург
Pipl. Kto razbiraetsya w programmirowanii znaet nawernoe o sisteme hookinga funkcij iz dllow w process. Fokus w chem: dopustim mi hotim otslejiwat wizow CreateFile() iz KERNEL32.DLL - pishem dll'inu kotoraya eksportiruet nash lichnij CreateFile() i pri zagruzke processa w pamyat prikleiwaem emu nash hooker (nash DLL). Posle etogo propatchiwaem (w pamyati) import list. I otslejiwaem wse CreateFile().
__________________
Осколки прошлого, как снег, закрутит ураган времён,
В ушедший день для нас навек, обрушив мост,
Оставив в наших душах след, тьма уплывёт за горизонт,
И в чистом небе вспыхнет свет, свет новых звёзд.
helldomain вне форума  
Старый 30.04.2003, 12:28     # 11
ReapeR
Advanced Member
 
Аватар для ReapeR
 
Регистрация: 09.08.2002
Адрес: Nab. Chelny, Tatarstan
Сообщения: 447

ReapeR МолодецReapeR МолодецReapeR Молодец
Как то я делал приблуду для винампа под ХР (короче для управления винампом), там я по секундомеру искал запущенный винамп (если находил, то секунодмер переходил на интервал поиска в минуту). можешь сделать что то примерное.
__________________
-=Nomen est Omen=-
ReapeR вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 09:51.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.