|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Как в Delphi узнать, запущен ли Word или Excel |
|
Delphi - Как в Delphi узнать, запущен ли Word или Excel
|
Пользователь Сообщения: 73 |
Профиль | Отправить PM | Цитировать FindWindow()не катит, т.к. нужно знать точное название заголовка. Если
перебирать все окна, и сравнивать по части строки заголовка - как-то некрасиво. Кто знает метод поинтересней? |
|
Отправлено: 00:57, 14-10-2004 |
Модер Сообщения: 1716
|
Профиль | Сайт | Отправить PM | Цитировать Kroc
Поискать по имени файла процесса? Поискать по имени КЛАССА окна? Поискать в Running Object Table (не уверен, впрочем, что они там регистрируются)? Вопрос на засыпку: если я в своей программе создаю объект Word.Application и он создается в МОЕМ процессе, при этом ни одного окна с ним связанного нет, это считается, что WORD запущен? |
------- Отправлено: 13:32, 14-10-2004 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 73
|
Профиль | Отправить PM | Цитировать vasketsov
Цитата:
Process32First и Process32Next ? *Так опять перебирать... Или ещё как? Цитата:
Цитата:
дальше... что-то смутно понимаю как это сделать. Вот я что придумал: перехватить ошибку OleSysError при GetActiveOleObject('Excel.Application'); // так же с Word вообще-то работает... |
|||
Отправлено: 00:09, 15-10-2004 | #3 |
Модер Сообщения: 1716
|
Профиль | Сайт | Отправить PM | Цитировать Kroc
1. Сомневаюсь, что будет работать, если Word запущен на другом WindowStation/Desktop и к нему нет доступа. 2. Чую, что задача немного не та решается, например, может надо просто узнать, что определенный файл используется, и т.п. |
------- Отправлено: 18:27, 15-10-2004 | #4 |
Пользователь Сообщения: 73
|
Профиль | Отправить PM | Цитировать vasketsov
Вообще-то задача такая: Написал "надстройку для модели COM" для Ворда и Экселя, чтобы одновременно с их запуском подгружать мой ехешник. Так вот ехешничку и надо подконнектиться... Всё бы ничего, но при таком запуске как раз одновременности и нет Я засекал время, подключение происходит только через 3-4 секунды после запуска обоих программ. |
|
Отправлено: 00:51, 16-10-2004 | #5 |
Пользователь Сообщения: 73
|
Профиль | Отправить PM | Цитировать Нормальные герои идут кривым путём
uses ... ComObj,... ... var ExAp : Variant; begin try //если не найден, вызывается исключение ExAp := GetActiveOleObject('Excel.Application'); except end; ... Аналогично с Word. Тему можно закрыть...Спасибо всем. |
Отправлено: 00:26, 27-10-2004 | #6 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Узнать имя пользователя, от которого запущен процесс | vitalisvv | AutoIt | 4 | 16-09-2009 01:16 | |
Как восстановить демо версию Word, Excel | serg-v | Ноутбуки | 2 | 26-05-2008 21:33 | |
Delphi - Delphi: Как узнать параметры, с которыми запускаласьпрограмма? | HrUser | Программирование и базы данных | 2 | 19-09-2005 07:18 | |
перенос графика из excel в word | Naug | Программирование и базы данных | 1 | 24-09-2004 12:00 | |
Delphi - Как в Delphi узнать, есть процесс в памяти или нет? | [mzd] | Программирование и базы данных | 5 | 15-09-2003 12:46 |
|