Einzelnen Beitrag anzeigen

Neotracer64

Registriert seit: 27. Okt 2004
292 Beiträge
 
Delphi 7 Professional
 
#1

Was ist hier Falsch ? [Fenster verstecken]

  Alt 27. Okt 2004, 16:07
Ich wollte das alle Fesnter in Windows verteckt werden und nach Beenden meines Programmes wieder alle angezeigt werden in der ursprünglichen Position. Dazu hab ich folgendes gemacht.
In erster Linie wollte ich jetz , dass ihr mir freundlicherweise erklärt was hier falsch an meinem Code ist und mir vielleicht einen Verbesserungsvorschlag und/oder eine Alternative gebt.
Und zwar läuft folgendes Schief. Nach Beenden meines Programmes werden alle möglichen Fenster angezeigt, die ich noch nie gesehen habe oder keine wirklichen sind.

Unwichtiges hab ich rausgeschnitten aus dem Code.
Delphi-Quellcode:
interface

var
h: HWnd;
WindowArray : Array[0..255] of HWnd;
index2: Integer;

implementation



procedure TForm1.FormCreate(Sender: TObject);

// --------------------------ALLE FENSTER Verstecken-----------------------
begin
  h := Handle;
  index2 := 0;
  while h > 0 do
  begin
    WindowArray[index2] := h;
    if IsWindowVisible(h) then
      ShowWindow(h, SW_HIDE);

      index2 := index2 +1 ;
    h := GetNextWindow(h, GW_HWNDNEXT);
  end;
end;

procedure TForm1.btOkClick(Sender: TObject);
begin


//-------Fenster wieder zeigen ------------------------------
h := Handle;
  index2 := 0;
  while h > 0 do
  begin
      index2 := index2 +1 ;
      h := WindowArray[index2];
      ShowWindow(h, SW_SHOW);

  end;


Close;

end;
Eigentlich müssten doch nur die Fenster wieder angezeigt werden , die in meinem Array gespeichert worden sind ? Oder geht das so gar nicht ?

Bin dankbar für jede Hilfe.
  Mit Zitat antworten Zitat