Einzelnen Beitrag anzeigen

Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#1

alle Formulare bis auf Form1 schließen, aber wie?

  Alt 19. Jan 2006, 17:14
Hallo, ich habe ien kleines Programm geschrieben bei dem nach der Eingabe einer Zahl genau so viele Fenster geöffnet werden. Nun wollte ich wissen wie ich alle Fenster bis auf das Hauptformular schließen kann?

mein Code:

Delphi-Quellcode:
Randomize;
   for i:=1 to StrToInt(Field.Text) do
    begin
     Form2:=TForm2.Create(Self);
     Form2.Caption:='Fenster ' + IntToStr(i);
     Form2.Label1.Caption:='Nur noch ' + IntToStr(i) + ' Fenster zu schließen';
     Form2.Left:=Random(Screen.Width - Form2.Width);
     Form2.Top:=Random(Screen.Height - Form2.Height);
     Form2.Show;
    end;
Wie ich einige Fenster erzeugen kann ist klar, aber alle wieder schließen ohne die Anwendung zu beenden hab ich nicht hinbekommen. Habe es mit FindWindow und FindWindowEx probiert aber es geht nicht so wie ich will.

Delphi-Quellcode:
for j:=1 to i do
  begin
   hWnd:=FindWindow(nil, PChar('Fenster ' + IntToStr(j)));
   If hWnd <> 0 then
    begin
     hBtn:=FindWindowEx(hWnd, 0, nil, 'alle schließen');
     If hBtn <> 0 then CloseHandle(hWnd);
    end;
  end;
Da kommt dann eine Fehlermeldung. Hoffe mir kann jemand helfen.

Gruß
Mazel
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat