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

Вниз

Свернуть всё   Найти похожие ветки 

 
Ag2002   (2003-02-10 17:21) [0]

Подскажите пожалуйста как заставить Винду свернуть всё окна ?


 
Игорь Шевченко   (2003-02-10 17:29) [1]

SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MINIMIZE, 0);

Только лучше этого не делать...


 
Андрей Сенченко   (2003-02-10 17:32) [2]

Чит коды нужны ... типа "винда ! закройся". повторить 3 раза в окне "выполнить".

Винду Ты врядли заставишь это делать, а вот себя - можно. Например заставить себя написать код, который найдет все открытые окна и пошлет им сообщения о минимизации ( WM_Minimise по-моему - пусть Мастера поправят ).
Правда не факт, что это сработает для модальных окон.


 
Андрей Сенченко   (2003-02-10 17:40) [3]

Игорь Шевченко © (10.02.03 17:29)

HWND_BROADCAST - это хорошо ...

F1 :

Identifies the window whose window procedure will receive the message. If this parameter is HWND_BROADCAST, the message is sent to all top-level windows in the system, including disabled or invisible unowned windows, overlapped windows, and pop-up windows; but the message is not sent to child windows.

Выделено мной.

Remarks
Applications that need to communicate using HWND_BROADCAST should use the RegisterWindowMessage function to obtain a unique message for inter-application communication.
If the specified window was created by the calling thread, the window procedure is called immediately as a subroutine. If the specified window was created by a different thread, Windows switches to that thread and calls the appropriate window procedure. Messages sent between threads are processed only when the receiving thread executes message retrieval code. The sending thread is blocked until the receiving thread processes the message.

Выделено. Я не настолько силен, чтобы оценить насколько это серьезно. Как часто может возникнуть подобная ситуация ?


 
Игорь Шевченко   (2003-02-10 18:04) [4]

Андрей Сенченко © (10.02.03 17:40)

Спасибо. Не SendMessage, а PostMessage.

Но все равно, так делать не надо... :-)


 
Ag2002   (2003-02-10 18:13) [5]

Игорь Шевченко © почему не надо ?
а как это делает команда "свернут все окна" ? на панели быстрого запуска ?


 
Игорь Шевченко   (2003-02-10 18:16) [6]

Ag2002 (10.02.03 18:13)

Я же не автор Windows...


 
Романов Р.В.   (2003-02-10 18:27) [7]

Копай в эту сторону, если что то нароешь поделись :)
Shell Object
The Shell object represents the objects in the Shell. There are methods to control the Shell and to execute commands within the Shell. There are also methods to obtain other Shell-related objects.

Methods
MinimizeAll Minimizes all of the windows on the desktop.
UndoMinimizeALL Restores all of the windows on the desktop to the same state they were in before the last MinimizeAll command.


 
Ag2002   (2003-02-10 18:39) [8]

Романов Р.В. © а где рыть то???


 
Романов Р.В.   (2003-02-10 18:41) [9]

(c) MSDN


 
Ag2002   (2003-02-10 18:49) [10]

у меня этого нет !!!
есть только та что с делфи ставится !!!
не можеь дать точно какая функция это делает и как её использовать !!!


 
Романов Р.В.   (2003-02-10 19:00) [11]

Еслиб я знал...
MSDN есть в сети


 
Ag2002   (2003-02-10 19:10) [12]

Романов Р.В. опа !!! а адресок кинь плиз


 
Романов Р.В.   (2003-02-10 19:29) [13]

Где то там
msdn.microsoft.com


 
Романов Р.В.   (2003-02-10 20:46) [14]

Можно так извратиться :)
const
_FName = "c:\1.scf";
var
F: TextFile;
begin
AssignFile(F, _FName);
Rewrite(F);
WriteLn(F, "[Shell]");
WriteLn(F, "Command=2");
WriteLn(F, "[Taskbar]");
WriteLn(F, "Command=ToggleDesktop");
CloseFile(F);
ShellExecute(Handle, "open", _FName, nil, nil, SW_SHOWNORMAL);
DeleteFile(_FName);
end;


 
Song   (2003-02-10 20:54) [15]

Сделать это можно тремя способами:
1) EnumWindows()+WM_SYSCOMMAND
2) GetWindow() в цикле + WM_SYSCOMMAND
3) Симмитировать Win+M, недавно Алёнка код приводила.


 
Ag2002   (2003-02-12 15:10) [16]

Song какая Алёнка ?

блин а может у кото есть уже код как найти все активные окна и послать им какое либо сообщение


 
DVM   (2003-02-12 15:32) [17]

Вроде бы все окна винда сворачивает так:
Сначала десктоп двигает вперед всех окон, а затем поочередно их сворачивает, но так что этот процесс уже не заметен.


 
Lord Warlock   (2003-02-12 16:08) [18]

Если хорошо порыться, все можно найти :)

1. в меню Project выбираем ImportTypeLibrary, говорим Add, лезем в каталог виндов\System32 и находим файл Shell32.DLL, он добавляется в список. Говорим CreateUnit, появряется Shell32_TLB.pas,
2 В программе пишем uses Shell32_TLB; и далее
var f:TShell;
begin
f:=TShell.Create(nil);
f.MinimizeAll;
end;


ЗЫ Сделал минут за 5, может быть криво работать под разными виндами, специально не выяснял



 
Романов Р.В.   (2003-02-12 16:21) [19]

Lord Warlock - ГОЛОВА !!! :)


 
Lord Warlock   (2003-02-12 16:23) [20]


> Романов Р.В. © (12.02.03 16:21)


Просто у меня есть MSDN :)



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

Форум: "Основная";
Текущий архив: 2003.02.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.011 c
14-76189
Oleg_Gashev
2003-02-09 02:19
2003.02.24
Последняя страница интернета


3-75766
KIR
2003-01-30 21:17
2003.02.24
Говорят, что IB плохо работает с деревьями...?


1-75951
Sergey-ZZZ
2003-02-12 13:06
2003.02.24
ComboBox


3-75755
Igor_thief
2003-02-05 12:19
2003.02.24
Как обнулить автоинкрементное поле?


1-75988
Softik
2003-02-12 20:31
2003.02.24
Работаю с 1С через ОЛЕ. Программа работает на разлчиных машинах.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский