Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.01.02;
Скачать: [xml.tar.bz2];

Вниз

Как закрыть 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 вся ветка

Форум: "WinAPI";
Текущий архив: 2003.01.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.004 c
14-1857
dimonf
2002-12-11 17:23
2003.01.02
Нужен компонент типа Gauge в виде круга, типа как в The Bat.


3-1763
yaJohn
2002-12-11 13:13
2003.01.02
Как заставить TClientDataSet перефильтроваться


14-1911
angelant
2002-12-15 13:47
2003.01.02
Dos... Дисковая операционная система - есть люди, зна... команды?


14-1904
p77
2002-12-14 17:22
2003.01.02
книга Лу Гринзо «Zen of Windows 95 Programming»


14-1866
Anatoly Podgoretsky
2002-12-12 07:47
2003.01.02
Именинники 12 декабря





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский