Deutsch
Forum

Maus gedrückt

 

ToM
hi!

wie kann man feststellen, ob gerade eine maustaste gedrückt wird (nicht mittels waitmouse),
einfach zb. wenn ich in windows media player irgendwo draufdrück, dass das das programm
abfangen kann.

sorry für die wirre erklärung *g+

mfg tom
 
AMD Athlon 64 4500+ / 1500 MB Ram / Windows Server 2003 Enterprise / Profan 7.0
16.11.2005  
 




Normann
Strübli
Hi,

Nachrichten außerhalb des eigenen Profan-Fensters zu empfangen ist nicht so einfach.

Mir fällt da spontan nur folgende unschöne Lösung ein:
KompilierenMarkierenSeparieren
Gruß
Normann
 
16.11.2005  
 




ToM
hmmm ... wie ist das beispiel gemeint ?!

kann man nicht auch einfach mit %mousepressed schaun, ob eine taste
gedrückt wurde oder wird ?!

danke mfg tom
 
AMD Athlon 64 4500+ / 1500 MB Ram / Windows Server 2003 Enterprise / Profan 7.0
16.11.2005  
 



Kann Norman da nur zustimmen.
Evt. läßt sich da ber was mit SetParent regeln, wird aber wohl unschön werden (wenn es überhaupt geht)..
Ansonsten:
- Profan 8.0 oder mindestens Profan2Cpp sind Pflicht
- Zusehen, das dein Account innerhalb der fremden Anwendung das Recht PROCESS_CREATE_THREAD hat (dürfte bei Administratoren in der Regel der Fall sein.
- Mit der API CreateRemoteThread innerhalb der fremden Anwendung eigenen Thread erzeugen (sonst kein Subclassing möglich)
- Subclassing des Hauptfensters der fremden Anwendung und abfangen der Mausmessages durch den eigenen Thread

Nochmal zur Erklärung:
Normans Code fragt ab, ob eine Maustaste gedrückt wurde.
Erfolgt danach eine Abfrage wo sich der Cursor befindet, ist das evtl. nicht die telle, an der der Cursor zum Zeitpunkt des Mausklicks gewesen ist...
 
16.11.2005  
 



ToM
hmmm ... wie ist das beispiel gemeint ?!

kann man nicht auch einfach mit %mousepressed schaun, ob eine taste
gedrückt wurde oder wird ?!

danke mfg tom


Nein, kann man nicht. Eine Message, ob im Augenblick eine Maustaste gedrückt wird, wird nur an das Fenster gesendet, auf dem der Mausklick stattgefunden hat - alles andere wäre ja auch sehr unideal...

Das Beispiel von Norman überprüft alle 20 Millisekunden, ob die linke Maustaste gedrückt wurde. Ob ein Doppelklick erfolgt ist, läßt sich so nicht feststellen. Wo sich der Cursor befindet, muß durch eine zusätliche Abfrage der API GetCursorPos mit einer Umsetzung der erhaltenen Daten durch ScreenToClient auf das jeweilige Fenster erfolgen. Daraus läßt sich dann evtl. errechnen, welches Control auf der Anwendung gedrückt wurde - also auch nicht ganz so einfach...
Eine Verwendung der jeweiligen Profanfunktionen bringen dir hier nichts, da diese nur Messages auswerten, die an das eigene Fenster geschickt werden.
 
16.11.2005  
 



Ah...

Da gibt es doch noch was anderes. Du könntest nach einem Mausklick den Focus auf dem fremden Fenster bestimmen (Code gibt es dazu hier schon).
Über den Text und den Klassennamen des Controls läßt sich da evtl. das gedrückte Control bestimmen - nur so ein Gedanke...
 
16.11.2005  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

778 Betrachtungen

Unbenanntvor 0 min.
Walter07.04.2019
rquindt22.11.2015
Ernst08.05.2014
gerd20.10.2013
Mehr...

Themeninformationen

Dieses Thema hat 3 Teilnehmer:

unbekannt (3x)
ToM (2x)
Normann Strübli (1x)


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