Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

закрыть окно [D6]


kirill8 ©   (2002-12-13 16:45:00) 

привет.
как закрыть найденное окно.
и пример
если не трудно
благодарю.
function MyCallback (hHandle: hwnd; lPar: longint): boolean; stdcall
var p: array [0..255] of char;
begin
GetWindowText (hHandle, p, sizeof(p));
if Trim(StrPas (p))="delphi 6" then Result:=false else Result:=true;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
EnumWindows (@MyCallback, 0);
end;


Song   (2002-12-13 20:21:00) [1]

А завершает потому, что дискриптор возвращается не правильный т.е. 0 (а неправильно потому что p должно быть название, а оно - у Вас дискриптор). А ноль - это псевдоописатель рабочего стола. Вот он его и завершает :) Как результат выводится диалог на завершение работы.
Подождите, я не понял, Вы ищите через EnumWindows() окна, далее через GetWindowText() определяете название, а потом по названию определяете дискриптор через FindWindow() чтобы завершить приоложение? Так что ли?
Если так, то это называется ехать из СПб в Москву через Хабаровск.
Вам в call-back ф-ию не вставить закрытие окна сразу?


kirill8   (2002-12-13 20:04:00) [2]

делаю так
SendMessage(FindWindow(nil, p), WM_CLOSE, 0, 0);
и коип завершает работу,что за х.
еще вопрос.
надо такая строчка,
если окно найдено,закрываем его и запускаем указанный exe файл во
задалбался я с окнами
пример pliiz


Song   (2002-12-13 17:00:00) [3]

Дык WM_CLOSE или CloseWindow()
:) Вы бы раз на sources начали, там бы и закнчивали..


Наверх

Титульная страница Поиск, карта сайта Написать письмо