Italia
Foro

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 per 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,

Notizie 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
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 (potrebbe bei Administratoren in der Regel der Fall sein.
- Mit der API CreateRemoteThread innerhalb der fremden Anwendung eigenen Thread erzeugen (sonst kein Subclassing possibile)
- 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 è, 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 è, 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  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

787 Views

Untitledvor 0 min.
Walter07.04.2019
rquindt22.11.2015
Ernst08.05.2014
gerd20.10.2013
Di più...

Themeninformationen

Dieses Thema hat 3 subscriber:

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


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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