AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Minimiertes Fenster nach Botschaft anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

Minimiertes Fenster nach Botschaft anzeigen

Ein Thema von Neg · begonnen am 20. Feb 2004 · letzter Beitrag vom 20. Feb 2004
Antwort Antwort
Neg

Registriert seit: 16. Jan 2004
Ort: Berlin
63 Beiträge
 
Delphi 5 Professional
 
#1

Minimiertes Fenster nach Botschaft anzeigen

  Alt 20. Feb 2004, 05:31
Hmm.. Ich bin nicht sicher, ob hier das richtige Forum ist.

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?
Firmly against signatures. And a hypocrite.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Minimiertes Fenster nach Botschaft anzeigen

  Alt 20. Feb 2004, 07:10
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 Naja, recht haste ja damit aber irgend nen motto braucht ich ja auch
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Neg

Registriert seit: 16. Jan 2004
Ort: Berlin
63 Beiträge
 
Delphi 5 Professional
 
#3

Re: Minimiertes Fenster nach Botschaft anzeigen

  Alt 20. Feb 2004, 07:37
Restore... Da hätte man auch selbst drauf kommen können.

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.
Firmly against signatures. And a hypocrite.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz