![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
закрыть окно [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 начали, там бы и закнчивали..