AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

erste oder günstigste WM_ Message

Ein Thema von EWeiss · begonnen am 6. Mär 2007 · letzter Beitrag vom 6. Mär 2007
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

erste oder günstigste WM_ Message

  Alt 6. Mär 2007, 10:12
Muss nochmal nerven
Was würdet ihr mir für eine WM_ Message empfehlen mit der ich
ShowWindow(WinHandle, SW_HIDE); mein Window am schnellsten und vor allem am sichersten unsichtbar schalten kann.

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
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: erste oder günstigste WM_ Message

  Alt 6. Mär 2007, 10:18
Gehe in den SourceCode Deiner EXE und ändere den wie folgend:
Code:
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.
......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

Re: erste oder günstigste WM_ Message

  Alt 6. Mär 2007, 10:23
Zitat von sakura:
Gehe in den SourceCode Deiner EXE und ändere den wie folgend:
Code:
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.
......
Hmmmm .. Supi
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
Hätte noch beischreiben sollen um was es sich handelt. 'DLL'

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: erste oder günstigste WM_ Message

  Alt 6. Mär 2007, 10:29
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

Re: erste oder günstigste WM_ Message

  Alt 6. Mär 2007, 10:36
Zitat von Luckie:
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.
Hehehehe nein
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?

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.

gruss
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: erste oder günstigste WM_ Message

  Alt 6. Mär 2007, 10:43
Hallo Emil,

wenn die fragliche DLL das Fenster-Handle exportiert, dann könntest du die Nachricht WM_SHOWWINDOW verwenden.

Freundliche Grüße
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

Re: erste oder günstigste WM_ Message

  Alt 6. Mär 2007, 11:00
Zitat von marabu:
Hallo Emil,

wenn die fragliche DLL das Fenster-Handle exportiert, dann könntest du die Nachricht WM_SHOWWINDOW verwenden.

Freundliche Grüße
Danke marabu es müßte etwas davor liegen.
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
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#8

Re: erste oder günstigste WM_ Message

  Alt 6. Mär 2007, 13:03
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?
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#9

Re: erste oder günstigste WM_ Message

  Alt 6. Mär 2007, 13:28
Zitat von Muetze1:
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?
Ja es ist etwas schwierig zu erklären.

Die plugins werden initialisiert.
Result := Vismod[VismodIndex]^.init(Vismod[VismodIndex]); Zu diesen zeitpunkt ist mir das WinHandle des Fensters was dann erstellt wird noch nicht bekannt.
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
  Mit Zitat antworten Zitat
6. Mär 2007, 18:18
Dieses Thema wurde von "Phoenix" von "Programmieren allgemein" nach "VCL / WinForms / Controls" verschoben.
Hier gehts um die Application, also VCL
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 17:50 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