Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Закрытие окна / 8 сообщений из 8, страница 1 из 1
27.12.2003, 09:20
    #32365086
Sergmal
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окна
Win98 Delphi6
Нужно убить окно.
Посылаю ему SendMessage(TheWindow, WM_CLOSE,0,0);
но окно DOS программы и вываливается диалог "Завершение программы"
и нужно нажать кнопку Завершить.
Как это обойти?
...
Рейтинг: 0 / 0
27.12.2003, 10:45
    #32365103
oleg_e
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окна
Можно попробовать нажать на кнопку в Завершить,
или попробовать убить процесс,
или послать окну команду на завершение Ctrl+С, Alt+X или что там у него.
...
Рейтинг: 0 / 0
27.12.2003, 10:57
    #32365107
Sergmal
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окна
>>или послать окну команду на завершение Ctrl+С, Alt+X или что там у него.
А как переслать команду окну? Какой функцией?
...
Рейтинг: 0 / 0
27.12.2003, 11:18
    #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
27.12.2003, 13:16
    #32365154
Sergmal
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окна
Ни как не выходит отправить окну код ALT-X
PostMessage(Wnd, wm_Char, Word('x'), 1);
?????????
...
Рейтинг: 0 / 0
27.12.2003, 22:00
    #32365252
balbes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окна
Приветствую

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

на счет DOS не уверен... У меня не вышло, (но спец я не >), так что, УДАЧИ!!!
...
Рейтинг: 0 / 0
29.12.2003, 11:14
    #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
29.12.2003, 13:14
    #32365830
Sergmal
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрытие окна
oleg_e
Спасибо !!!!!
Все заработало
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Закрытие окна / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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