Тема: Перехват сообщений внешних программ.

Возвращаюсь к теме о хуках:
https://www.caduser.ru/forum/topic38027.html
Хотелось бы расширить возможности функции любезно предоставленной Александром Ривилисом.
А именно, при открытии чертежа появляется EXCEL-запрос "Путь к таблице не найден. Укажите расположение таблицы".
Как перехватить этот диалог?
Спасибо.

Re: Перехват сообщений внешних программ.

> Serghei
Ну так расширь. В чем проблема?

Re: Перехват сообщений внешних программ.

> Александр Ривилис
Проблема в нехватке знаний :(
Пробовал несколько примеров, но не получается.
Если бы мог, не задавал бы вопросов.

Re: Перехват сообщений внешних программ.

Пришли чертеж.

Re: Перехват сообщений внешних программ.

Уже выслал

Re: Перехват сообщений внешних программ.

> Serghei
У меня нет сообщения про EXCEL, зато есть сообщение о proxy-объектах, так как подозреваю, что чертеж выполнен в MDT. Допустим действительно появлется сообщение про таблицу EXCEL. Чего ты хочешь добится? Чтобы в этом окне сработала кнопка Отказ? Тогда ты эмулируешь нажатие IDCANCEL. Если хочешь подставить реальный путь к файлу, то попробуй прописать его (сам найдешь ID для строки ввода) и эмулируй нажате кнопки IDOK

Re: Перехват сообщений внешних программ.

> Александр Ривилис
Прошу прощения за поздний ответ, проблемы с инетом.
Как раз в этом мой вопрос. Как мне поймать EXCEL-запрос? Ведь это уже не процесс AutoCada.
С кнопками потом я разберусь.

Re: Перехват сообщений внешних программ.

> Serghei
Если это сообщение выдает не AutoCAD (что крайне странно), то тебе нужен глобальный хук. Но это достаточно опасно.

Re: Перехват сообщений внешних программ.

> Александр Ривилис
Прошу прощения за запоздалые ответы, у нас были проблемы с инетом.
Я специально в процессах отслеживал.
На стадии открытия чертежа запускается Excel-процесс,
потом выходит запрос на путь к таблицам и через некоторое время процесс закрывается.
Вот я и сказал, что это внешний процесс.
Моя идея, запустить процесс в AutoCAD, который будет отслеживать стартующие процессы,
и, как только запустится Excel, подавить запрос.
Опасного в этом случае ничего нет, т.к. на машине запущен только AutoCAD для пакетных заданий.

Re: Перехват сообщений внешних программ.


Как мне поймать EXCEL-запрос? Ведь это уже не процесс AutoCada.

Хотелось бы все-таки получить ответ на вопрос.
Прошу помощи!

Re: Перехват сообщений внешних программ.

> Serghei
Я же уже достаточно четко ответил тебе - нужно ставить глобальный хук. Элементарный поиск в Google по контексту "глобальный хук" приводит например к этой статье: http://rsdn.ru/article/baseserv/HookTools.xml
А дальше остается только написать код - но это за тебя никто не сделает. Тем более, что у меня Excel не запускается и отлаживать соответственно будет не на чем.