Ergebnis 1 bis 4 von 4

Thema: Wie kann ich alle anderen Fenster schließen?

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #2
    ich kapiere irgendwie nicht ganz, wieso du das so kompliziert machst @_@

    EnumWindowPoc sollte doch eigentlich automatisch einmal fuer JEDES Top-Level Fenster aufgerufen werden, wenn du EnumWindows aufrufst ...

    Wenn du nun alle Fenster schliessen willst, ausser dem von deinem eigenen programm haette ich das vielleicht so versucht ...

    Code:
    function EnumWindowsProc(hWindow: hWnd; donotclose: LongInt): boolean;stdcall;
    begin
    if hWindow<>THandle(donotclose) then PostMessage(hWindow, wm_close, 1, 1);
    result:=true;
    end;
    
    procedure Form1.Button1Click(Sender: TObject);
    begin
    //Wir nehmen mal an, durch das Klicken auf den Button ist das Fenster im Vordergrund, das ich nicht schliessen will
    EnumWindows(EnumWindowsProc,GetForegroundWindow);
    end;
    den Code hab ich nicht getestet ... aber sollte das nicht genau das machen, was du machen wolltest ? .. Alle Fenster ausser dem Aktiven schliessen ?

    alternativ koenntest du auch folgendes probieren, wenn du nicht unbedingt den aktuellen prozess offen halten willst ...

    Code:
    Procedure Button1Click(Sender:TObject);
    begin
    PostMessage(HWND_BROADCAST, wm_close, 1, 1);
    end;
    Gruss Ineluki

    Geändert von Ineluki (06.02.2004 um 16:58 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •