powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Закрытие окна
8 сообщений из 8, страница 1 из 1
Закрытие окна
    #32365086
Sergmal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Win98 Delphi6
Нужно убить окно.
Посылаю ему SendMessage(TheWindow, WM_CLOSE,0,0);
но окно DOS программы и вываливается диалог "Завершение программы"
и нужно нажать кнопку Завершить.
Как это обойти?
...
Рейтинг: 0 / 0
Закрытие окна
    #32365103
oleg_e
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно попробовать нажать на кнопку в Завершить,
или попробовать убить процесс,
или послать окну команду на завершение Ctrl+С, Alt+X или что там у него.
...
Рейтинг: 0 / 0
Закрытие окна
    #32365107
Sergmal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>или послать окну команду на завершение Ctrl+С, Alt+X или что там у него.
А как переслать команду окну? Какой функцией?
...
Рейтинг: 0 / 0
Закрытие окна
    #32365115
oleg_e
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
PostMessage(Wnd, WM_KEYDOWN, vk_Return,  0 );
Application.ProcessMessages;
PostMessage(Wnd, WM_KEYUP, vk_Return,  0 );
Application.ProcessMessages;

Или
Код: plaintext
1.
PostMessage(Wnd, wm_Char, Word('а'),  0 );
Application.ProcessMessages;
...
Рейтинг: 0 / 0
Закрытие окна
    #32365154
Sergmal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ни как не выходит отправить окну код ALT-X
PostMessage(Wnd, wm_Char, Word('x'), 1);
?????????
...
Рейтинг: 0 / 0
Закрытие окна
    #32365252
balbes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую

вот есть код который виндозовые окна убивает без проблем...
Код: plaintext
PostMessage(FindWindow(Nil, 'Имя окна'), WM_QUIT,  0 ,  0 );

на счет DOS не уверен... У меня не вышло, (но спец я не >), так что, УДАЧИ!!!
...
Рейтинг: 0 / 0
Закрытие окна
    #32365639
oleg_e
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нажимает Alt+X для консольной программы в WinXP
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
procedure TForm1.Button1Click(Sender: TObject);
var Wnd: HWnd;
    ScanCodeKey, ScanCodeAlt: word;
    C: byte;
begin
   Wnd:= FindWindow('ConsoleWindowClass', nil);
   if IsIconic(Wnd) then ShowWindow(Wnd, SW_RESTORE)
                    else BringWindowToTop(Wnd);
   C:= Ord('X');
   ScanCodeKey:= MapVirtualKey(C,  0 );
   ScanCodeAlt:= MapVirtualKey(VK_MENU,  0 );
   Keybd_Event(VK_MENU, ScanCodeAlt,  0 ,  0 );
   Keybd_Event(C, ScanCodeKey,  0 ,  0 );
   Keybd_Event(C, ScanCodeKey, KEYEVENTF_KEYUP,  0 );
   Keybd_Event(VK_MENU, ScanCodeAlt, KEYEVENTF_KEYUP,  0 );
end;
...
Рейтинг: 0 / 0
Закрытие окна
    #32365830
Sergmal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oleg_e
Спасибо !!!!!
Все заработало
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Закрытие окна
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]