![]() |
erste oder günstigste WM_ Message
Muss nochmal nerven ;)
Was würdet ihr mir für eine WM_ Message empfehlen mit der ich
Delphi-Quellcode:
mein Window am schnellsten und vor allem am sichersten unsichtbar schalten kann.
ShowWindow(WinHandle, SW_HIDE);
Oder welche möglichkeit gibt es noch mit der man am schnellsten auf das erstellen und Show ereignis reagieren kann ? WM_ACTIVATEAPP geht nicht damit schalte ich das Anwendungsfenster unsichtbar. gruss |
Re: erste oder günstigste WM_ Message
Gehe in den SourceCode Deiner EXE und ändere den wie folgend:
Code:
...:cat:...
program CapSIGN;
uses Forms, FormMain in 'FormMain.pas' {Form1}; {$R *.res} begin Application.Initialize; [color=red]Application.ShowMainForm := False;[/color] Application.CreateForm(TForm1, Form1); Application.Run; end. |
Re: erste oder günstigste WM_ Message
Zitat:
Zeig mal wie das in ner DLL funktioniert dann werd ich deinen Beispiel folgen. Habe auch nach WM_ Messagen gefragt (liegt nahe) das es sich dann nicht unbedingt um eine Echse dreht. aber sonst guter Tip :zwinker: Hätte noch beischreiben sollen um was es sich handelt. 'DLL' gruss |
Re: erste oder günstigste WM_ Message
Du hast in einer DLL ein Fenster oder wie soll man das verstehen? Entweder erzeugst du es nicht oder du setzt die Eigenschaft Visisble auf False.
|
Re: erste oder günstigste WM_ Message
Zitat:
Meine DLL startet ne andere die hat ein Fenster das ich schnell .. sehr schnell unsichtbar schalten will. Aber ihr wißt genau um was es geht oder? :zwinker: Seit ich hier im Forum bin beschäftige ich mich hauptsächlich mit meiner BassVis.dll Bitte erbarmt euch meiner und gebt mir verständliche Infos... Welche WM _Message gestattet mir den schnellstmöglichen zugriff auf die DLL welche von BAssVis gestartet wird um das Fenster dieser unsichtbar zu schalten. :mrgreen: gruss |
Re: erste oder günstigste WM_ Message
Hallo Emil,
wenn die fragliche DLL das Fenster-Handle exportiert, dann könntest du die Nachricht WM_SHOWWINDOW verwenden. Freundliche Grüße |
Re: erste oder günstigste WM_ Message
Zitat:
Bei WM_SHOWWINDOW ist das window schon sichtbar. Wenn ich es erst dann verstecke gibt es einen unschönen nebeneffekt auf den Desktop. Möglichst sollte es so sein das man nicht sieht wie das Fenster in den fremden container verschoben wird. Habe das auch mal versucht scheint sich dann aber immer wieder recursiv aufzurufen wenn ich es in WM_SHOWWINDOW versuche zu verstecken. Gibts da irgendwas nach WM_ACTIVATEAPP? Quasi dann wenn das handle der DLL bekannt ist? Allerdings könnte es dann auch schon zu spät sein.. Echt ein problem das richtige zu finden. gruss |
Re: erste oder günstigste WM_ Message
Um nochmal was klarzustellen: Willst du eine Nachricht wissen, welche du dem Fenster senden kannst um es zu verstecken - oder - willst du wissen auf welche Nachricht an das Fenster du reagieren solltest, um es schnellstmöglich zu verstecken?
Mit anderen Worten zur zweiten Möglichkeit: Du bekommst nun schon alle Windows Messages von dem besagten Fenster (Hook whatever)? Du fragst nach einer Nachricht um ein Fenster zu verstecken aber erklärst, als wenn du eine Nachricht als "Trigger" wissen willst um zeitlich das verstecken auszulösen bzw. an anzuzeigen zu verhindern. Was denn nun? :gruebel: |
Re: erste oder günstigste WM_ Message
Zitat:
Die plugins werden initialisiert.
Delphi-Quellcode:
Zu diesen zeitpunkt ist mir das WinHandle des Fensters was dann erstellt wird noch nicht bekannt.
Result := Vismod[VismodIndex]^.init(Vismod[VismodIndex]);
Dieses kann ich erst zu einen späteren zeitpunkt ermitteln da es vom Plugin selbst nicht übergeben wird. Dieses mache ich über EnumWindows, was auch funktioniert. Wenn das Plugin initialisiert wurde schickt es doch seine WindowMessagen! In dem moment möchte ich wenn möglich reagieren um das Fenster des plugin schnellstmöglich zu verstecken. Dann werden die WindowStyle verändert und das Plugin in den Container verschoben. Erst dann soll es wieder sichtbar geschaltet werden. Mit welcher WM_ Message oder anderen möglichkeit kann ich da schnell genug einfluss drauf nehmen das Fenster zu verstecken. Mein problem ist halt das ich nicht schnell genug an das Handle des Fensters gelange. Es aber zu diesen zeitpunkt schon sichtbar ist. gruss |
DP-Maintenance
Dieses Thema wurde von "Phoenix" von "Programmieren allgemein" nach "VCL / WinForms / Controls" verschoben.
Hier gehts um die Application, also VCL |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:34 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