Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.02;
Скачать: CL | DM;

Вниз

Как закрыть DOS-окно?   Найти похожие ветки 

 
Cosmic   (2002-11-14 19:04) [0]

Я пытаюсь из программы нажадием кнопки закрыть левое досовское окно без лишних вопросов и предложений :) Так, чтобы убить - и всё, не видя никаких мессадж-боксов и т.п... Не получается :) Мастера, подскажите!


 
Song ©   (2002-11-14 20:41) [1]

WM_SYSCOMMAND, SC_CLOSE


 
apay ©   (2002-11-15 01:03) [2]

2 Song
если там что-то есть, то MessageBox обязательно будет (если не править PIF. для корректного выхода в запущеной дос-программе вроде нужно перехватить int2F, номер ф-ии не помню (можно найти в MSDN)


 
Александр Павлов ©   (2002-11-15 05:19) [3]

100% работоспособность не гарантирую, под моей 98 "прибивает" консольные проги на раз:

procedure TForm1.Button1Click(Sender: TObject);
var
OSI: TOSVersionInfo;
ClassName: string;
Title: string;
WND: HWND;
ProcessID: Integer;
ProcessHandle : THandle;
begin
OSI.dwOSVersionInfoSize := SizeOf(OSI);
GetVersionEx(OSI);

case OSI.dwPlatformID of
VER_PLATFORM_WIN32_WINDOWS: begin
ClassName := "tty";
Title := "Сеанс MS-DOS";
end;

{ VER_PLATFORM_WIN32_NT: begin
ClassName := "Ну, нет у меня ХР...";
Title := "Ну, нет у меня ХР...";
end;
}
end;

WND := FindWindow(PChar(ClassName), PChar(Title));
GetWindowThreadProcessID(WND, @ProcessID);
ProcessHandle := OpenProcess($0001, FALSE, ProcessID);
TerminateProcess(ProcessHandle,4);
end;


 
Александр Павлов ©   (2002-11-15 05:25) [4]

Поправочка:
проги, кот. не меняют заголовка DOS-консоли, что, в принципе, исправляется организацией небольшого цикла.


 
Cosmic   (2002-11-16 21:47) [5]

Закрывает почти идеально :) Проблема в том, что процесс убивается, а окно остается - приходится потом производить над "остатками окна" какое-то событие (ну, мышей провести, что ли) - тогда убивается и с экрана. Как этого избежать?



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

Текущий архив: 2003.01.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.008 c
14-1894
Jeka
2002-12-14 11:58
2003.01.02
IDE command-line options


3-1766
BF7ru
2002-12-11 15:48
2003.01.02
Вставка записи


14-1912
Almaren
2002-12-14 14:35
2003.01.02
Как узнать содержание активной записи в БД?


14-1874
DennisL
2002-12-13 11:48
2003.01.02
Иконки для кнопок состоящие из четырех частей ?


3-1752
EternalWonderer
2002-12-10 17:26
2003.01.02
CONNECT BY PRIOR ID = PARENT