Leere Messages von WM_ACTIVATEAPP?



  • Hi,
    mit dem Code hier versuche ich den Thread, der aktiviert war bevor meine Anwendung aktiviert wurde, zu speichern:

    private:	// Anwenderdeklarationen
    	DWORD saveHandle;
    	void __fastcall wmMessage(TMessage& msg);
    
    public:		// Anwenderdeklarationen
    	__fastcall TForm1(TComponent* Owner);
    
    	BEGIN_MESSAGE_MAP
    		MESSAGE_HANDLER(WM_ACTIVATEAPP, TMessage, wmMessage);
    	END_MESSAGE_MAP(TForm);
    
    void __fastcall TForm1::wmMessage(TMessage& msg)
    {
     if ( (BOOL)msg.WParam )
       saveHandle = (DWORD) msg.LParam;
    }
    

    Allerdings erhalte ich nur Msgs, die bis auf WParam und Msg alles 0 haben?! Was ist mein Denkfehler bzw. was mache ich falsch?

    MfG

    Alexander Sulfrian



  • Ich habe dein Code getestet und es läuft einwandfrei.

    Ist wohl ein BCB Bug. Ich habe auch ein Projekt, wo Application->Handle immer NULL ist. Hilft vielleicht Projekt zu löschen und dann neu anzulegen



  • Hi,
    ich habe gemerkt, dass es funktioniert wenn ich auf die Schaltfläche in der Taskleiste klicke! Wenn ich aber zwischen 2 Anwendungen wechle, indem ich auf die Fenster (Titelleisten) klicke, klappt es nicht! Was mache ich falsch?

    MfG

    Alexander Sulfrian



  • Hi,
    hat keiner einen Tip, wie ich die Anwendung rausbekomme, die vor meiner App aktiviert war.

    MfG

    Alexander Sulfrian



  • Habe keinen konkreten Lösungsvorschlag, aber vielleicht bringt es dich ja weiter, wenn du daran denkst, dass der Button in der Taskbar nicht für die Form steht sondern für das versteckte Application-Fenster.



  • Ich habe gestern abend das noch mal getestet; mit dem selben Effekt, wie du auch.

    einziges, was mir noch einfällt, ist einen Timer zu benutzen. Alle z.B. 100 ms. abfragen, wer gerade aktiv ist.


Anmelden zum Antworten