Вниз
Скачать: CL | DM;

Программное закрытие консольного окна в WinXP   Найти похожие ветки 

 
KiloBait ©   (2006-09-14 05:08) [0]

Из приложения на Delphi6 пытаюсь закрыть внешнее консольное окно Test1.exe.
Для закрытия окна использую вызов следующей функции:

PostMessage(FindWindow(Nil, ‘Test1’), WM_QUIT, 0, 0);

Где Test1  заголовок окна программы Test1.exe

В Win98 закрывает без проблем

В WinXP заголовок программы изменяется на :

‘C:\Program Files\Borland\Delphi6\Projects\Primer1\Test1.exe’

Подставляю в PostMessage, но не срабатывает.

Попробовал получить дескриптор следующим образом:
http://articles.org.ru/cfaq/index.php?qid=608&frommostrecent=yes
Получить-то получил, а вот закрыть не получается ((
Просто полный игнор на PostMessage в WinXP.


 
Ketmar ©   (2006-09-14 09:56) [1]

консоль не умеет обрабатывать такие сообщения. консоль -- это вообще не окно. это уроненый на череп эмулятор оного. %-(


 
KiloBait ©   (2006-09-15 03:04) [2]

Ketmar, но ведь в Win98 обрабатывает же. Не уже ли нет функции которая закрывала бы этот "уроненый на череп эмулятор оного" и в Win98 и WinXP :)


 
Ketmar ©   (2006-09-15 03:43) [3]

Win9X на WinXP похожа только первыми тремя буквами (и те матерное слово составляют).
функции -- нет. точнее, есть: FreeConsole(). которую надо звать из процесса, владеющего консолью. т.е. OpenProcess(), CreateRemoteThread(), etc.

а зачем обязательно закрыть? может, достаточно просто спрятать?

зыж в статье тоже дан намёк на несхожеть 9X и NT. уже разный класс окон должен был насторожить.


 
Slym(RO)   (2006-09-15 04:04) [4]

Выцепить STDIn и CTRL+C туда... сам не пробывал...


 
Ketmar ©   (2006-09-15 05:17) [5]

> [4] Slym(RO)   (15.09.06 04:04)
и не надо тогда говорить. %-) и в общем, и в не очень общем случае это работать не будет.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.028 c
5-1147125189
Константинов
2006-05-09 01:53
2007.01.28
Свойства - события


10-1128086100
Andrew Dovgal
2005-09-30 17:15
2007.01.28
Программо получить RTF из OLE-automated Word a


1-1164875052
MetalFan
2006-11-30 11:24
2007.01.28
IHMTLDocument2.write


1-1165088447
BOB16
2006-12-02 22:40
2007.01.28
Как убрать мое приложение с панели задач


1-1165327777
dreamse
2006-12-05 17:09
2007.01.28
Ошибка при загрузке компонента из файла




   Наверх