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

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

люди очень нужна помощь!!!!!!!!!!!! [D6, WinME, WinXP]


max001 ©   (2002-12-26 20:18:00) 

Скажите пожвлуйста как заррыть окно!
(и очень прошу покажите точный премер)
Спосибо!!!!!!!!!!!!!


Антипыч   (2002-12-27 20:33:00) [1]

А зечем условие останова? Эта процедура сама завершится, как только проверит все окна.


Ig0r   (2002-12-27 13:42:00) [2]

/-/-

interface

/-/-/

function EnumWindowsProc(var AHandle: HWND; lParam: Longint): Boolean;
//функция, определяемая программистом для получения хэндлов top-level окон
//как результата работы EnumWindows or EnumDesktopWindows

/-/-

implementation

/-/-

procedure TForm1.Button2Click(Sender: TObject);
var
lParam: Longint;
p : Pointer;
begin
lParam := 0;
p := @EnumWindowsProc;
EnumWindows(p, lParam); //получаем хэндлы всех окон
end;

function EnumWindowsProc(var AHandle: HWND; lParam: Integer): Boolean;
begin
Result := AHandle > 0; //условие останова (хэндл десктопа 0!)
form1.ListBox1.Items.Add(IntToStr(AHandle)); //заносим хэндлы в список, просто так, для наглядности :)
end;

procedure TForm1.Button3Click(Sender: TObject);
var
i: Integer;
begin
for i := 0 to ListBox1.Items.Count - 1 do
SendMessage(StrToInt(ListBox1.Items[i]), WM_CLOSE, 0, 0); //закрываем все окна! :)))
end;


bak   (2002-12-27 12:19:00) [3]

PostMessage(FindWindow(nil, PChar( IHateThisProg ), WM_CLOSE, 0, 0);

2Rouse_ © (26.12.02 22:08)
и не просто TerminateProcess(), так как при этом могут не выгрузиться длл.


Rouse_   (2002-12-26 22:08:00) [4]

Вместо "Блокнот" подставить PChar(имя окна)

Примечание, не все закрываются на WM_QUIT оригиналы почемуто хотят WM_CLOSE, для таких лучше TerminateProcess()

Желаю успехов


max001   (2002-12-26 21:57:00) [5]

Удалено модератором
Примечание: Offtopic


Shadow   (2002-12-26 21:29:00) [6]

Подводишь мышку к крестику (правый верхний угол у окна), жмешь на него, и, о чудо! окно закрывается!


max001   (2002-12-26 21:13:00) [7]

Слушай а скажи пожалуйта song Как вобще открытые окна закрывать!
и покажи очень нужно!
зарание спосибо!


Song   (2002-12-26 20:34:00) [8]

Для другого будут другие параметры в FindWindow()


max001   (2002-12-26 20:27:00) [9]

а это только на блокнот???


Song   (2002-12-26 20:22:00) [10]

SendMessage(FindWindow(nil,"Блокнот"),WM_CLOSE,0,0)


Наверх

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