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.