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

Вниз

Можно ли развернуть/свернуть все проги нетрогая свою?   Найти похожие ветки 

 
Novichek   (2002-10-05 21:33) [0]

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


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

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


 
Novichek ©   (2002-10-05 23:40) [2]

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


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

См.:
EnumWindows
GetWindowThreadProcessID
IsWindowVisible
PostMessage
WM_SYSCOMMAND

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

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


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

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


 
Pat ©   (2002-10-07 01:12) [5]

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

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.



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

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

Наверх




Память: 0.48 MB
Время: 0.013 c
4-59508
@lexey
2002-10-08 23:10
2002.11.18
Выключение компьютера и изымание лотка CD


4-59495
Kacnep
2002-10-08 14:14
2002.11.18
HDC канваса.фонта у Тривию как освободить???


1-59227
Ученик
2002-11-06 14:45
2002.11.18
Round(4.5) = 4, Round(5.5) = 6


14-59411
Vad
2002-10-31 03:42
2002.11.18
Зачистка анкет.


14-59421
Esipenko
2002-10-31 12:10
2002.11.18
Пароль на вход в Win98