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

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

Можно ли развернуть/свернуть все проги нетрогая свою? [D6]


Novichek ©   (2002-10-05 21:33:00) 

Можно ли развернуть/свернуть все программы запущенные из-под/после своей, но нетрогая тем временем свою?


Pat   (2002-10-07 01:12:00) [1]

Переделаешь под свое...мне влом :-))

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
count:integer;
implementation

{$R *.DFM}
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;

end.


Novichek   (2002-10-07 00:11:00) [2]

спасибо., а не будет ли нагло с моей стороні попросить рабочий пример? ну пожалуйста!!!!!!


Юрий Зотов   (2002-10-06 23:54:00) [3]

См.:
EnumWindows
GetWindowThreadProcessID
IsWindowVisible
PostMessage
WM_SYSCOMMAND

При запуске приложения вызываете EnumWindows и запоминаете список ID уже имеющихся процессов, включая свой.

Когда надо свернуть, снова вызываете EnumWindows и в callback"е проверяете - если окно видимое и принадлежит процессу, которого еще нет в списке, то шлете ему WM_SYSCOMMAND с SC_MINIMIZE.


Novichek   (2002-10-05 23:40:00) [4]

можно, ПОЖАЛУЙСТА, по-подробнее... ну PLEASE, помоги бедному новичку!!!!!


Бешеный.........   (2002-10-05 23:31:00) [5]

Можно, если осторожно. =) берешь окно достаешь PID, если это не PID твоего приложения то посылаешь мессагу окну, чтоб свернулось или развернулось. Это конечно немного грубовато я щас объяснил, но за исходником лезть ломает...


Наверх

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