![]() |
Was ist hier Falsch ? [Fenster verstecken]
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:
Eigentlich müssten doch nur die Fenster wieder angezeigt werden , die in meinem Array gespeichert worden sind ? Oder geht das so gar nicht ?
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; Bin dankbar für jede Hilfe. |
Re: Was ist hier Falsch ? [Fenster verstecken]
Dann sind da im Array wohl auch die Fenster, die fälschlicherweise angezeigt werden. Was willst du eigentlöich damit erreichen, dass du dem User seine Fenster versteckst? Ichmeine, er hat sie wphl nicht umsonst geöffnet. :roll:
|
Re: Was ist hier Falsch ? [Fenster verstecken]
Naja, das Programm soll ja für mich sein und ich will das ja so haben also kanns auch niemanden störn oder?
Aber ich glaub ich weiss was ich tun muss. Ich sollte das "WindowArray[index2] := h;" erst schreiben wenn ich gecheckt hab ob das Window auch sichtbar ist "if IsWindowVisible(h) then" . Also erst danach. ich probier das mal. |
Re: Was ist hier Falsch ? [Fenster verstecken]
Prüf auch mal auf Toolwin usw, mir fällt grad die Bezeichnung dafür nich ein... und sei doch nich gleich so patzig, wenn Dich jmd. fragt, was Du tun möchtest :roll:
Gruß Stephan :dance: PS: Herzlich willkommen in der DP :dp: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz