powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как подавить сообщения запущенной из программы утилиты
8 сообщений из 8, страница 1 из 1
Как подавить сообщения запущенной из программы утилиты
    #32181096
yuniki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть стороняя утилита (exe файл), которая нужно, чтобы запускалась из моей проги и причем с подавлением ее всех визуальных собщений, требующих реакции пользователя, скажем собщений об ошибках типа "Произошла ошибка такая-то" <ОК>.
Нельзя ли как - нибудь обнаружить после ее запуска :
1) ее код завершения, если он есть ( я не знаю выдает ли она его или нет )
2) ее сообщения и подавить их, скажем обнаружить как-нибудь хандл ее окна с соообщением и закрыть его.
...
Рейтинг: 0 / 0
Как подавить сообщения запущенной из программы утилиты
    #32181147
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я таким не страдал, но тут, кижись, нужно копать в сторону FindWindow и потом на найденное окно вешать хуки (кажись SetWindowHook).

PS вобще-то эти хуки-крюки довольно-таки сложная тема :-(
...
Рейтинг: 0 / 0
Как подавить сообщения запущенной из программы утилиты
    #32181155
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я думаю, довольно сложно.
Во первых, запусти ее в скрытом виде winexec(program,sw_hide)
Во вторых, найди у нее все хандлы и разберись каким контролам эти хандлы соответствуют. Потом посылай на эти хандлы сообщения типа тэ нажимаеш кнопочки. Но это не защитит тебя от сообщений об ошибках. Еще есть такое понятие как desktop. Покопай функцию createdesktop может быть она тебе поможет.
...
Рейтинг: 0 / 0
Как подавить сообщения запущенной из программы утилиты
    #32181200
Фотография KirillovA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
невозможно - мерцание мессаджа всеравно будет - как ни крути ...
и тут еже зависит как прога вызвает мессаги - если через msgbox - скрытое приложение (sw_hide) всеравно будет мессаги выдавать ...
...
Рейтинг: 0 / 0
Как подавить сообщения запущенной из программы утилиты
    #32181272
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
Я бы сделал так: прошелся бы по ней SoftICE`ом и все мессаги кидал бы в файл (или еще куда-нить).
По-потеть придется, то есть
...
Рейтинг: 0 / 0
Как подавить сообщения запущенной из программы утилиты
    #32181321
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2) ее сообщения и подавить их, скажем обнаружить как-нибудь хандл ее окна с соообщением и закрыть его.

Думаю что можно ...
с помощью
FindWindow, и SendMessage,PostMessage etc.
...
Рейтинг: 0 / 0
Как подавить сообщения запущенной из программы утилиты
    #32181453
yuniki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 eNose :
> : прошелся бы по ней SoftICE`ом и все мессаги кидал бы в файл (или еще куда-нить).
Так а подробнее можно - что такое SoftICE`ом etc ...

2 all:
Уточню еще : эта утилита должна запускаться на сервере и служит для выборки из базы Paradox'а и ,кстати, наверно, многим известна - tbView зовется,
Она нормально и весьма удобна работает в командной строке невизуальном режиме, но
Иногда она что-то не то обнаруживает или , скажем исходный файл файл не находит и пишет по братски "Nastala Chyba" и ОК,
Так я бы хотел понять : как ее нужно вызвать из моей программы, чтобы понять что она закончила работать с таким или подобным диалогом и потом уже подавить этот диалог , например, выдав SendMessage на handl кнопки ...
Пока я ее вызываю по :

' Инициализируем структуру STARTUPINFO:
start.cb = Len(start)
' Запускаем приложение:
Ret& = CreateProcessA(0&, cmdline$, 0&, 0&, 1&, _
NORMAL_PRIORITY_CLASS, 0&, 0&, start, proc)
' Ждем завершения запущенного приложения:
Ret& = WaitForSingleObject(proc.hProcess, INFINITE)
Ret& = CloseHandle(proc.hProcess)
...
Рейтинг: 0 / 0
Как подавить сообщения запущенной из программы утилиты
    #32181469
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как выполнить ее все такое ...
Посмотри сдесь
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как подавить сообщения запущенной из программы утилиты
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]