Главная страница
    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.003 c
3-1746
SergeySubbotin
2002-12-11 16:06
2003.01.02
Работа с DataSet


14-1863
The_Vizit0r
2002-12-12 17:02
2003.01.02
Помогите!


14-1916
F1
2002-12-15 13:27
2003.01.02
Точка в полигоне!!!


1-1790
ooo
2002-12-20 09:30
2003.01.02
Что такое плагин?


1-1811
harismatik
2002-12-20 13:47
2003.01.02
Опять про TListView





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский