Hi,
ich kämpfe schon seid Stunden mit einem sehr einfachen Problem:
falls eine Instanz meines Programms besteht, soll das Fenster der ersten Instanz in den Vordergrund und die neue Instanz beendet werden.
Feststellen ob eine Instanz besteht ist kein Problem.
Das Wiederherstellen funktioniert nicht richtig!
Folgenden Code verwende ich:
Delphi-Quellcode:
ShowWindow(
Handle, SW_RESTORE);
//SendMessage(Handle, WM_SYSCOMMAND, SC_RESTORE, 0); //Das gleiche Problem wie bei ShowWindow
SetForegroundWindow(
Handle);
Das Fenster wird zwar wiederhergestellt und in den Vordergrund gebracht ABER falls das Fenster minimiert war kann man es nicht mehr minimieren!!! (sowohl über den Minimieren-Knopf, als auch über das Systemmenu.
Erst wenn ich in der Taskleiste das Menu für das Fenster öffne und Wiederherstellen auswähle kann das Fenster wieder minimiert werden.
Was mache ich falsch? Habe Windows XP und Delphi 6 mit allen Updates.
Bin über jeden Tip dankbar!
Gruß,
Kamil
(Habe versucht mit GetWindowPlacement den Status des Fensters auszulesen, aber das Fenster ist entweder SW_NORMAL(auch wenn es minimiert ist) oder SW_MAXIMIZE jedoch nie SW_MINIMIZE)