Deutsch
Forum

TrayIcon Msg Windows 11

 

Georg
Teles
Korrigiere gerade eines meiner Tools 1Click-Screenshot, wobei hier das TrayIcon angeklickt wird und stelle beim Testen fest, der normale Linksklick und Rechtsklick unter Windows 11 garnicht reagieren ... Doppelklicks auch nicht.

Windows 11 reagiert offensichtlich nur beim Loslassen, alle Quelltexte also beim Anklicken mit Messages $201 (Maus links anklicken) / $204 (Maus rechts anklicken) sind somit mit $202 (Maus links loslassen) / $205 (Maus rechts loslassen) zu ersetzen. Habs unter Windows XP, 7, 8, 10 und 11 getestet, das geht. Der doppelklick allerdings ist mir unter Windows 11 nicht bekannt.

Habe jetzt nicht in der Tiefe gebohrt, aber ... Windows 11 reagiert beim Mittleren Mausklick mit Message des linken Mausklicks (loslassen) mit der Message $202 (514)

Ansonsten sind die durchgestrichenen Messages unter 11 nicht aktuell

TrayIcon("Msg", N1):

$201 (513): Linke Maustaste gedrückt
$202 (514): Linke Maustaste losgelassen
$203 (515): Doppelklick mit linker Maustaste
$204 (516): Rechte Maustaste gedrückt
$205 (517): Rechte Maustaste losgelassen
$206 (518): Doppelklick mit rechter Maustaste
$207 (519): Mittlere Maustaste gedrückt
$208 (520): Mittlere Maustaste losgelassen
$209 (521): Doppelklick mit mittlerer Maustaste


Grüße
 
Alle Sprachen
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

vor 7 Tagen  
 




H.Brill
Da scheint wirklich was bei WIN11 geändert worden zu sein.
Mein Programm von damals läuft auch nicht mehr, wie es soll.
Lediglich wm_LButtonDown bzw. wm_RButtonDown wird noch
erkannt.
Declare Long MNummer[], ende, pos, String MString[]
MNummer[0] = $0201 : MString[0] = "wm_LButtonDown"
MNummer[1] = $0202 : MString[1] = "wm_LButtonUp"
MNummer[2] = $0204 : MString[2] = "wm_RButtonDown"
MNummer[3] = $0205 : MString[3] = "wm_RButtonUp"
MNummer[4] = $0207 : MString[4] = "wm_MButtonDown"
MNummer[5] = $0208 : MString[5] = "wm_MButtonUp"
MNummer[6] = $20A  : MString[6] = "Mausrad"
MNummer[7] = $000F : MString[7] = "WM_PAINT"
MNummer[8] = $0214 : MString[8] = "WM_SIZING"
MNummer[9] = $0203  : MString[9] = "Maus - Doppel - Klick"
ende = 0
'UserMessages $201, $202, $203, $204, $205, $207, $208, $20A, $000F, $0214, $10
Window 600, 400

WhileNot ende

    WaitInput
    pos = IndexOf(MNummer[], %Message, 0)

    If pos > - 1

        Locate 10, 2
        Print Space$(50)
        Locate 10, 2
        Print MString[pos], Hex$(MNummer[pos])

    EndIf

    If %Message = $10

        ende = 1

    EndIf

EndWhile

End

Mit den UserMessages scheint es aber zu gehen :
Declare Long MNummer[], ende, pos, String MString[]
MNummer[0] = $0201 : MString[0] = "wm_LButtonDown"
MNummer[1] = $0202 : MString[1] = "wm_LButtonUp"
MNummer[2] = $0204 : MString[2] = "wm_RButtonDown"
MNummer[3] = $0205 : MString[3] = "wm_RButtonUp"
MNummer[4] = $0207 : MString[4] = "wm_MButtonDown"
MNummer[5] = $0208 : MString[5] = "wm_MButtonUp"
MNummer[6] = $20A  : MString[6] = "Mausrad"
MNummer[7] = $000F : MString[7] = "WM_PAINT"
MNummer[8] = $0214 : MString[8] = "WM_SIZING"
MNummer[9] = $0203  : MString[9] = "Maus - Doppel - Klick"
ende = 0
Window 600, 400
UserMessages $201, $202, $203, $204, $205, $207, $208, $20A, $000F, $0214

WhileNot ende

    WaitInput

    If %Message = %UMessage

        pos = IndexOf(MNummer[], %UMessage, 0)

        If pos > -1

            Locate 10, 2
            Print Space$(50)
            Locate 10, 2
            Print MString[pos], Hex$(MNummer[pos])

        EndIf

    EndIf

    If %Message = $10

        ende = 1

    EndIf

EndWhile

End

Für die Doppelklicks wäre das hier zu verwenden :
Declare x&
Def GetClassLong(2) !"USER32", "GetClassLongA"
Def SetClassLong(3) !"USER32", "SetClassLongA"
Cls
Usermessages $203,$206,$209
x&=GetClassLong(%hwnd,-26)
x& = x& | 8
SetClassLong(%hwnd,-26,x&)'CS_DBLCLKS Class-Style setzen.

While 1

    waitinput
    Case %key=2:BREAK

    If %umessage=$203

        Print "Linker Doppelklick."

    ElseIf %umessage=$206

        Print "Rechter Doppelklick."

    ElseIf %umessage=$209

        Print "Mittlerer Doppelklick."

    EndIf

EndWhile

Usermessages 0
End

Gefunden hier im Forum.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
vor 6 Tagen  
 




H.Brill
Ah, habe gerade gesehen, daß ich noch Windows 10 drauf habe.
Müßtest du halt mal mit Ver 11 probieren.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
vor 6 Tagen  
 




Georg
Teles
Hi,

die Messages funktionieren im Fenster einwandfrei bei Win 11, lediglich auf dem TrayIcon wie oben beschrieben reagiert Win 11 nur mit Loslassen der Linken/Rechten Maustaste statt gedrückter (mittlere Maustaste garnicht oder interpretiert als Linksklick/Loaslassen) - auf Doppelklicks reagiert das TrayIcon unter Win 11 absolut nicht.

Bis Win 10 ist hierbei alles tip top

Ich vermute, dass bei Win 11 "Badges" dazukamen, z.B. wie bei Handys unter Email-App die Anzahl ungelesener Mails als Beispiel s.  [...]  . Möglicherweise hat sich an der Messagesierung  (hehe) unter Win 11 deshalb was geändert hat ? Habe da absolut keine Ahnung, was das unter Win 11 angeht...





Grüße
 
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

Vorgestern (17:31)  
 




H.Brill
Nunja, die Badges gibt es ja auch schon in Windows 10. Bei mir sind sie aktiviert.
Sehe sie ja selber ab und an in der Taskleiste.


Windows 10: Badges in Taskleiste aktivieren / deaktivieren
Um die Badges in der Windows-10-Taskleiste zu aktivieren, geht ihr folgendermaßen vor:

Öffnet die Windows-Einstellungen mit der Tastenkombination Windows + i.
Klickt auf die Schaltfläche Personalisierung und wählt links den Menüpunkt Taskleiste aus.
Scrollt etwas herunter.
Stellt den Schalter bei Badges auf Taskleisten-Schaltflächen anzeigen von Aus auf Ein, um sie zu aktivieren.
Falls der Schalter bereits auf Ein steht, könnt ihr ihn betätigen, um die Badges zu deaktivieren.


Müßtest du dann ja auch zum Testen deaktivieren können.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
Vorgestern (18:48)  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

112 Betrachtungen

Unbenanntvor 0 min.
E.T.Heute (08:29)
Jürgen StrahlGestern (05:09)
H.BrillVorgestern (18:48)
Georg TelesVorgestern (17:33)

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

H.Brill (3x)
Georg Teles (2x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie