Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Minimiertes Fenster nach Botschaft anzeigen (https://www.delphipraxis.net/16606-minimiertes-fenster-nach-botschaft-anzeigen.html)

Neg 20. Feb 2004 04:31


Minimiertes Fenster nach Botschaft anzeigen
 
Hmm.. Ich bin nicht sicher, ob hier das richtige Forum ist. :gruebel:

Naja, ich erzähle einfach mal, was das Problem ist:
Von meinem Programm darf immer nur eine Instanz laufen. Startet man eine zweite, so wird eine Botschaft mit dem 1. Parameter an die erste geschickt, damit diese sich um die entsprechende Datei kümmert. Das übliche halt. Jetzt möchte ich aber, dass die erste Instanz nach Erhalt der Botschaft wieder sichtbar wird, falls sie minimiert ist. Ich dachte eigentlich, dass das trivial wäre, aber aus irgendeinem Grund ist es das nicht. Kurzum, ich kriege es nicht hin.

Hier der Code mit der Reaktion auf die Botschaft:

Delphi-Quellcode:
procedure TMeinForm.WMCopyData(var Message: TWMCopydata);
var
  s : Array[0..255] of Char;
begin
  Application.BringToFront; // nützt nichts
  MeinForm.Show; // funktioniert auch nicht
  MeinForm.SetFocus; // und das erst recht nicht
  MeinForm.WindowState:=wsNormal; // das ebenfalls nicht

  FlashWindow(Application.Handle, True); // das geht zwar, ist aber nicht, was ich will

  StrLCopy(s, Message.CopyDataStruct.lpdata, Message.CopyDataStruct.cbdata);
  if s<>'' then MachWas(s);
end;
Wo ist der Trick?

SirThornberry 20. Feb 2004 06:10

Re: Minimiertes Fenster nach Botschaft anzeigen
 
Hab das gleiche auch schon mal verwirklicht. Wenn die Hauptanwendung minimiert ist funktionierts so:
Delphi-Quellcode:
procedure TBlaBla.Bringhoch(var Message: TMessage);
begin
  Application.Restore;
end;
schöne Signatur haste :gruebel: Naja, recht haste ja damit aber irgend nen motto braucht ich ja auch

Neg 20. Feb 2004 06:37

Re: Minimiertes Fenster nach Botschaft anzeigen
 
Restore... Da hätte man auch selbst drauf kommen können. :wall:

Funktioniert. Danke.

Zitat:

schöne Signatur haste. Naja, recht haste ja damit aber irgend nen motto braucht ich ja auch
Hab mich schon gefragt, wie lange es wohl dauern wird, bis du die Signatur entdecken wirst. :zwinker: :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 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