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