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

Вниз

Подскажите !!!!   Найти похожие ветки 

 
PETR ©   (2002-06-04 10:41) [0]

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

Зарание спасибо !


 
Игорь Шевченко ©   (2002-06-04 10:46) [1]

EnumWindows, PostMessage (handle, WM_SYSCOMMAND, SC_MINIMIZE, 0)


 
Виктор Щербаков ©   (2002-06-04 10:50) [2]

PostMessage (HWND_BROADCAST, WM_SYSCOMMAND, SC_MINIMIZE, 0)
:)))


 
Игорь Шевченко ©   (2002-06-04 10:51) [3]

Виктор Щербаков © (04.06.02 10:50)

Свое приложение при этом тоже сворачивается ? :-)


 
Виктор Щербаков ©   (2002-06-04 10:55) [4]

Игорь Шевченко © (04.06.02 10:51)
Всё намного интереснее :)))


 
PETR ©   (2002-06-04 11:12) [5]

Ребят первый способ сворачивает только мое приложение ,а второй способ нет слов одни слюни :),обезобразил мой рабочий стол пришлось перезагружаться, всетаки как свернуть все окна на рабочем столе кроме моего А!


 
PETR ©   (2002-06-04 11:14) [6]

Не ужели не подскажите !!!!!!!!!!!!!!!!!!!!!!!!!!!!


 
Виктор Щербаков ©   (2002-06-04 11:16) [7]


> пришлось перезагружаться

Так и знал, что этим кончится :)

Если серьезно, то см. Игорь Шевченко © (04.06.02 10:46)
Почитай в SDK про EnumWindows.


 
Игорь Шевченко ©   (2002-06-04 11:17) [8]

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


 
Pat ©   (2002-06-04 11:18) [9]


var count:integer;
....
function EnumProc (WinHandle: HWnd; Param: LongInt): Boolean; stdcall;
begin
if (GetParent (WinHandle) = 0)
and (not IsIconic (WinHandle))
and (IsWindowVisible (WinHandle))
then begin
PostMessage (WinHandle, WM_SYSCOMMAND, SC_MINIMIZE, 0);
Inc(Count);
end;
EnumProc := TRUE;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Count:=0;
EnumWindows (@EnumProc, 0);
caption:="Свернуто "+inttostr(count)+" окон";
end;



 
PETR ©   (2002-06-04 11:40) [10]

Спасибо всем


 
Song ©   (2002-06-04 11:41) [11]

2Виктор Щербаков © (04.06.02 10:55)
SC_MAXIMIZE и SC_CLOSE веселее :)))


 
PETR ©   (2002-06-04 11:59) [12]

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


 
PETR ©   (2002-06-04 12:08) [13]

Я недавно начал изучать DELPHI (поэтому может чего недопонимаю, да и англиским туго) но всетаки подскажите !!!!


 
Виктор Щербаков ©   (2002-06-04 12:09) [14]

Попробуй так:
if (GetParent (WinHandle) = 0)
and (not IsIconic (WinHandle))
and (IsWindowVisible (WinHandle) and (WinHandle <> Form1.Handle))
then begin
PostMessage (WinHandle, WM_SYSCOMMAND, SC_MINIMIZE, 0);
Inc(Count);
Смысл в том, чтобы не отправлять сообщение в окна своего приложения.


 
Игорь Шевченко ©   (2002-06-04 12:21) [15]


> Я недавно начал изучать DELPHI (поэтому может чего недопонимаю,
> да и англиским туго)


А нельзя изучать Delphi на более простых и безобидных примерах ?

Program Files\Borland\Delphi\Demos\...



 
PETR ©   (2002-06-04 12:25) [16]

>Виктор Щербаков
нет не получилось и мое приложение свернулось


 
PVOzerski ©   (2002-06-04 12:29) [17]

А может, СНАЧАЛА все окна свернуть, а уж ПОТОМ сделать форму
своего приложения видимой?


 
PETR ©   (2002-06-04 12:30) [18]

> Игорь Шевченко
можно конечно , но возникает иногда потребности , приходиться лезть в дебри вы уж извиняйте !


 
Виктор Щербаков ©   (2002-06-04 12:31) [19]

Вот так должно работать.
function EnumProc (WinHandle: HWnd; Param: LongInt): Boolean; stdcall;
begin
if (GetParent (WinHandle) = 0)
and (not IsIconic (WinHandle))
and (IsWindowVisible (WinHandle)
and (WinHandle <> Application.Handle))
and (WinHandle <> Form1.Handle) then
begin
PostMessage (WinHandle, WM_SYSCOMMAND, SC_MINIMIZE, 0);
Inc(Count);
end;
EnumProc := TRUE;
end;


 
PVOzerski ©   (2002-06-04 12:34) [20]

Опять же, уж коль скоро EnumWindows пользуемся, ужели трудно в
callback-функции сравнить хэндл найденного окна с хэндлом формы
приложения перед посылкой сообщения?


 
PETR ©   (2002-06-04 12:50) [21]

>Виктор Щербаков

Ура все получилось СПАСИБО !!!!!!!!!!!



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

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

Наверх




Память: 0.51 MB
Время: 0.014 c
7-55335
Miron666
2002-03-18 10:38
2002.06.17
прямой доступ к портам из сервисных программ Win2000


7-55333
DenKop
2002-03-15 16:28
2002.06.17
LPT


14-55300
limon
2002-05-16 11:13
2002.06.17
Еще одна задачка :) Новые глюки Мелкософта


6-55259
Timon
2002-04-05 13:08
2002.06.17
TCP пакет


1-55172
Yuri Btr
2002-06-04 12:48
2002.06.17
Поменять главную форму...