Hogyan lehet minimalizálni az összes ablakot

hogyan kell dobni az összes ablakot?

Szia, drágám. A cél: egy gomb megnyomásával minimalizálja az összes ablakot, és 4 másodperc alatt megjelenik egy üzenet a két gomb igen / nem valami reakció a „igen” és „nem” (!). Kérem, mondja meg, hogyan valósítható meg a Delphi.
Remélem a segítséget. Köszönöm.

1. Miközben az összes ablakot
2. minimalizálni
3. Helyezzük az időzítőt, hogy 4 másodperc.
4. után az út készlet. Timer display gomb igen-nem
5. Ne felejtsük el, hogy visszatérjen minden vissza, majd nick ozvereyut;)

Vagy valami, amit nem értek.

;-)
És még? Hogyan fog kinézni a kódot. -)
Kérem, segítsen.

2. Minden ablak üzenetet küldeni PostMessage (Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0);
4. Ha MessageDlg ( "", mtcofimation, [mbyes, mbno], 0) = mryes majd
.

Ha a Windows, majd keresztül brute képernyő formák összecsukható.
és ha minden itt egy példa.

Hogyan lehet minimalizálni az összes Windows rendszert. (Mint minimalizálni az összes ablakot, kivéve a rendszer ablak)

funkció EnumMiniProc (Wd: HWnd; Param: LongInt): Boole; stdcall; // Mindenképpen stdcall.
kezdődik
Ha Wd<>Form1.Handle majd // ha nem a programunk
Ha IsWindowVisible (WD), akkor // ha az ablak látható
Ha nem IsIconic (WD), majd // ha az ablak nem minimalizálható
Ha isWindow (WD), majd // és ez egy - egy ablak.
ShowWindow (WD, SW_MINIMIZE); // itt kapcsolja.
EnumProc: = TRUE; // folytatja végig Windows rendszert.
végén;

eljárás TForm1.Button1Click (Sender TObject.); // nézzük közelebbről az egy gombnyomással
kezdődik
EnumWindows (@EnumMiniProc, 0); // Teljesítjük összecsukható ablakok.
végén;


Az ablak is, amely minimalizálja elég tiszta sor, ha a WD<>Form1.Handle majd EnumMiniProc
Persze, akkor is egy csomó feltételek, ami minimálisra csökkenti az ablakon, de a kérdés az adott feladatot.

eljárás TForm1.Button1Click (Sender: TObject);
VAR
Szél. hWND;
barnássárga: array [0..127] char;
kezdődik
Szél: = GetWindow (Handle, gw_HWndFirst);
MÍG Szél <> 0 DO
BEGIN
IF (Szél <> Application.Handle) ÉS
(IsWindowVisible (Szél)) THEN
BEGIN
GetWindowText (Szél, barnássárga, sizeof (barnássárga));
ShowWindow (Szél, SW_SHOWMINIMIZED);
END;
Szél: = GetWindow (Szél, gw_hWndNext);
END;
Timer1.Enabled: = True;
végén;

Nos, akkor azt hiszem, nem nehéz%)

GetWindowText (Szél, barnássárga, sizeof (barnássárga));
Van ez a sor van szükség?


eljárás MinimizeAll;
kezdődik
keybd_event (VK_LWIN, MapVirtualKey (VK_LWIN, 0), 0, 0);
keybd_event (ORD ( "M"), MapVirtualKey (ORD ( "M"), 0), 0, 0);
keybd_event (ORD ( "M"), MapVirtualKey (ORD ( "M"), 0), KEYEVENTF_KEYUP, 0);
keybd_event (VK_LWIN, MapVirtualKey (VK_LWIN, 0), KEYEVENTF_KEYUP, 0);
végén;

Úgy gurul az összes ablakot.

Egyetértek Kotka
vonalak
barnássárga: array [0..127] char;
GetWindowText (Szél, barnássárga, sizeof (barnássárga));
Nem kell
és ennek következtében a kód két Begin kell távolítani

> Ha isWindow (WD), majd // és ez egy - egy ablak.

És mit EnumWindows listák és neokna is? Ez a hír.

Kapcsolódó cikkek