Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2002.09.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
1-98150
Алексей Ким
2002-09-17 15:22
2002.09.30
WideString


3-97976
Bishop
2002-09-07 16:23
2002.09.30
Экспорт в Excel


1-98183
Андрусь
2002-09-17 20:19
2002.09.30
откуда пришёл фокус


3-97970
Kolyan!
2002-09-09 10:47
2002.09.30
Можно ли работать с dBase через dbExpress?


1-98157
SergeyDon
2002-09-13 15:00
2002.09.30
Сохранение (чтение) компoнентов в поток?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский