Progamm schließen
-
Ich habe da noch eine Frage:
Wenn mein Programm minimiert ist ( visible=false und mit trayicon ), dann kommt die Message nicht an, bzw auf welche Message muss ich dann warten??
-
TheCaleb schrieb:
Wenn mein Programm minimiert ist ( visible=false und mit trayicon ), dann kommt die Message nicht an, bzw auf welche Message muss ich dann warten??
Hast du die Nachrichtenbehandlung in deiner "Hauptform"?
Davon abgesehen, dass ich Nachrichten mit einer überschriebenen WndProc behandle, kann ich dir sagen, dass WM_QUERYENDSESSION definitiv auch bei unsichtbarer, minimierter und transparenter (Haupt)Form ankommt.
-
Hm also ich führe in der Funktion __fastcall TForm1::TForm1(TComponent* Owner): TForm(Owner) diesen Befehl aus Form1->WindowState=wsMinimized; , damit mein Fenster minimiert ist und ich es unsichtbar machen kann.
Es liegt definitiv an Form1->WindowState=wsMinimized; , doch wie bekomm ich es sonst hin, dass das Fenster einfach minimiert ist?
-
Eventuell mal im Release versuchen ?
-
...wie ich es mir schon dachte, es klappt dennnoch nicht
-
TheCaleb schrieb:
Es liegt definitiv an Form1->WindowState=wsMinimized;
Das ist abnormal.

-
Also wenn ich diesen Befehl zum Programmanfang nicht ausführe klappt alles, ansonsten muss ich das Programm erst manuell maximieren und dann wieder minimieren.
Danach klappt das!Gibt es vielleicht ein anderen Befehl um das Programm zu minimieren??
-
Es liegt definitiv an Form1->WindowState=wsMinimized;
Also ich hab mir mal eben die Mühe gemacht das nachzubilden und es klappt unabhängig davon ob das Fenster minimiert oder maximiert ist.
-
Also ich möchte mit folgedem Code das Fenster minimieren und unsichtbar schalten:
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { ... Form1->Visible=false; Form1->WindowState=wsMinimized; ....Wenn ich das die beiden Funktionen herrausnehme, dann klappt das mit der Message beim Herunterfahren, ansonsten irgendwie nicht!
Gibt es irgendeine andere Möglichkeit das Fenster(Form1=Hauptform) minimiert und unsichtbar zu starten??
Oder wodran könnte mein Problem liegen?
Ich habe auch mal gelesen, dass z.B. Programme ohne Fenster keine Message bekommen und in diesem Fall ist das Fenster ja minimiert und unsichtbar ...
-
Form1->Visible=false; Form1->WindowState=wsMinimized;sitzt bei mir genauso im Konstruktor und es wird trotzdem die Message an Form1 gesendet.
Das Problem liegt irgendwo anders.
Dazu müsste man sehen, was du sonst noch machst.
-
Hmmm ich mache das jetzt in einer anderen Funktion mit dem Befehl Application->Minimize(); und es klappt, komisch!