Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.30;
Скачать: CL | DM;

Вниз

Как можно программно свернуть все окна?   Найти похожие ветки 

 
Kick   (2002-06-19 13:44) [0]

Как можно программно свернуть все окна?


 
Игорь Шевченко ©   (2002-06-19 13:47) [1]

Каждому окну послать сообщение PostMessage(Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0);


 
Sasha9 ©   (2002-06-19 13:51) [2]

или имитировать нажатие кнопок win+m


 
Kick   (2002-06-19 14:03) [3]

А как получить Handle активного в данный момент окна?


 
Kick   (2002-06-19 18:25) [4]

ПОМОГИТЕ ПОЖАЛУЙСТА!


 
Volj ©   (2002-06-19 18:58) [5]

GetFocus или GetForegroundWindow.


 
Игорь Шевченко ©   (2002-06-20 10:28) [6]

Kick (19.06.02 18:25)

Если надо свернуть все, то в процедуре вызываемой из EnumWindows
надо отфильтровать только те окна, которые отображаются на экране. Иначе много чего можно насворачивать


 
Stone   (2002-06-20 22:59) [7]

procedure MinimizeAllApp;
VAR
Wnd : hWnd;
buff: ARRAY [0..127] OF Char;
begin
Wnd := GetWindow(MainForm.Handle, gw_HWndFirst);
WHILE Wnd <> 0 DO BEGIN {Не показываем:}
IF (Wnd <> Application.Handle) AND {-Собственное окно}
IsWindowVisible(Wnd) AND {-Невидимые окна}
(GetWindow(Wnd, gw_Owner) = 0) AND {-Дочернии окна}
(GetWindowText(Wnd, buff, sizeof(buff)) <> 0) {-Окна без заголовков}
THEN BEGIN
{тут во и пишешь:}
PostMessage(wnd, WM_SYSCOMMAND, SC_MINIMIZE, 0);
{или что-то вроде этого}
END;
Wnd := GetWindow(Wnd, gw_hWndNext);
END;
end;


 
sndanil ©   (2002-06-21 14:00) [8]

...а еще вместо PostMessage можно использовать CloseWindow... забавно правда? эта функция минимизирует окно, а не закрывает...


 
Victor ©   (2002-07-05 06:27) [9]

По моему можно сделать всё проще (единственная опастность в этом случае что и рабочий стол тоже свернёться:))а так всего одна строчка
sendmessage(findwindow(nil,""),wm_syscommand,sc_minimaize,0);
ну вроде бы всё:)


 
zmy   (2002-07-19 08:41) [10]

Делаешь Project->Import Type Library->Microsoft Shell Controls And Automation
Потом в uses - Shell32_TLB

var Sh: IShellDispatch;
Begin
Sh := CoShell.Create;
Sh.UndoMinimizeAll;
и
Sh.MinimizeAll;

end;


 
Незарегистрированный   (2002-07-19 13:06) [11]

>To zmy
Подскажите пожалуйсьа, где можно почитать про эти интерфейсы и посмотреть примеры их использования (применительно к Delphi).


 
Song ©   (2002-07-19 14:35) [12]

>>Как можно программно свернуть все окна?

:-))

PostMessage(HWND_BROADCAST,WM_SYSCOMMAND,SC_MINIMIZE,0);



Страницы: 1 вся ветка

Текущий архив: 2002.09.30;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.023 c
1-98213
Uran
2002-09-17 09:48
2002.09.30
Как узнать размницу межда датами в днях!?


14-98331
Сатир
2002-09-05 16:56
2002.09.30
Асм


14-98265
Malder
2002-08-29 17:53
2002.09.30
Какой компьютер быстрее работает


14-98269
Esu
2002-09-03 13:57
2002.09.30
.NET forever ;)


1-98075
Fog
2002-09-18 16:15
2002.09.30
Супер запутанные лупы