| imho.ws |
![]() |
|
|
|
# 1 |
|
Guest
Сообщения: n/a
|
активизация окна...
в произвольной dos программе
(пусть даже Norton Commander) вызываю любую другую windows-программу... по завершении которой остаюcь на рабочем столе... нужно щелкнуть мышкой по icon на панели,чтобы вернуть управление ... Что можно сделать для активизации родительского окна? (без рук...) ...masm... |
|
|
# 3 |
|
Member
Регистрация: 10.03.2002
Адрес: Israel
Сообщения: 245
![]() ![]() |
Все не так просто. Что бы поднять с помощью ShowWindow консольное окно нужно знать хендл консоли. И еще нужно отследить закрытие сторонней программы которая была запущена. Так что придеться немного напрячься.
Я бы сделал примерно так: Программу которую нужно запустить запускал бы с помощью CreateProcess что бы иметь PID порождаемого процесса. Потом в отдельном потоке или по таймеру отслеживал окончание порожденного процесса. После окончания отого процесса пробежался бы по верхнему уровню окон в Z-order (функция GetWindow) нашёл бы окно PID которого равен PID-у моей программы, вот его бы и активизировал спомощью ShowWindow.
__________________
Best Regards |
|
|
|
|
# 4 |
|
МОД-Оператор ЭВМ
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Чтобы получить дескриптор окна достаточно знать имя класса или заголовок .
И вообще такое объяснение вопроса явно не позволяет понять что проискодит и что нужно . Детский сад . Даже неясно о каким языке идет речь, а что это делфи я решил лишь из-за того, что именно "программисты" на этом языке задают подобные вопросы
|
|
|
|
|
# 5 |
|
Member
Регистрация: 10.03.2002
Адрес: Israel
Сообщения: 245
![]() ![]() |
2RaZer
>>Чтобы получить дескриптор окна достаточно знать имя класса или заголовок Точно, я о том и говорю. Консоли трудно отличить одну от другой. Например Win2000 они все класса "ConsoleWindowClass" а зоголовки могут иметь разные взависимости от того как программа стартует (если через Shortcut - имя экзешника, прямой запуск - полное имя экзешника, через Bat-файл - что то вроде "C:\WINNT\System32\cmd.exe" и т.п).
__________________
Best Regards |
|
|