Главная страница
    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.56 MB
Время: 0.019 c
1-1801
a-leksey
2002-12-14 15:28
2003.01.02
Как создать указатель на обьект внутри метода этого обьекта? Замы


6-1846
Weber
2002-11-06 04:10
2003.01.02
программа для админ. доступа к нету...


3-1762
Николай В.
2002-12-11 11:34
2003.01.02
MidasLib


1-1833
MasterA
2002-12-21 10:49
2003.01.02
Линии уровня.


14-1919
Shaman
2002-12-12 16:03
2003.01.02
Как узнать, какие DLL требуются программе?





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