Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 05.09.2009, 20:29 Titel: Maus und Tastatur-Daten abfragen |
|
|
Hallo,
kennt jemand Wege wie man ohne Getmouse, Inkey und ScreenEvent an Maus/Tastatur-Daten rankommen kann?
Ich danke mal, das wird in richtung API gehen.. etwas plattformübergreifendes wirds daher wahrscheinlich nicht geben. Aber wäre klasse wenn jemand Windows als auch Linux-spezifische befehle dafür posten könnte!
Danke schon mal! |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 05.09.2009, 20:41 Titel: |
|
|
Ein Thread reicht doch...
Bezüglich Tastatur ist Multikey doch schon ziemlich genau. AFAIK sollte das sogar Multimedia-Tasten erkennen, kann ich aber nicht garantieren. Aber den Rest kann man damit doch problemlos abfragen. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 05.09.2009, 20:45 Titel: |
|
|
Nein, da ist die frage eine andere!
Ich will nichts <genauer> abfragen. Ich möchte die mausposition und tastatureingaben in einem fenster abfragen in dem keine Getmouse, inkey und ScreenEvent möglich sind! |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 05.09.2009, 20:50 Titel: |
|
|
Ja sag das doch gleich. (Wobei es bezüglich Maus wohl aufs selbe rauskommt.)
Plattformübergreifend gibt es da 100% nichts ohne Verwendung von Bibliotheken wie SDL, da das Fensterhandling bei jeder Plattform ganz anders ist. Aber SDL ist da doch ein ganz gutes Stichwort...  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 05.09.2009, 20:59 Titel: |
|
|
Unter windows dachte ich eher dran den WindowHandle des fensters zu ermitteln ... dann mitner api-anweisung die X-Y-Button-Daten der maus abzufragen. Gibts da keinen 2 oder 3-zeiler?
Unter Linux wär sowas natürlich auch klasse.. nur da kenn ich gar keine vorgehensweise...
(Das ist übrigens ein FBGFX-Fenster welches in einer DLL-Funktion aufgerufen wird.. Nur funktionieren in der DLL die Inkey und Getmouse-funktionen nicht für das aufgerufene Fenster :-/ .. ) |
|
Nach oben |
|
 |
d1rty.h4rry

Anmeldungsdatum: 05.10.2006 Beiträge: 116 Wohnort: Cassel
|
Verfasst am: 06.09.2009, 12:55 Titel: |
|
|
ich kenn mich damit zwar nicht so aus aber.. könnte man nicht die GetMouse/Inkey routinen dort mit Reinpacken? sprich du erstellst Funktionen in der DLL(vorrausgesetzt die DLL ist von dir und du kannst sie bearbeiten) die etwa so aufgebaut sind:
Code: |
Function GetMouseX() as Integer
dim mx as Integer
GetMouse(mx)
return mx
end function
Function GetMouseY() as Integer
dim my as Integer
GetMouse(my)
return my
end function
Function InkeyDLL() as String
dim Ink as String
Ink = Inkey$
return Ink
end function
'usw...
'Wie man mehrere Variablen zurückgeben kann weiß ich leider nicht
|
Damit könntest du doch dann in deinem Proggi die Eingaben prüfen, ich weiß leider nur nicht ob das so auch funktionieren kann.. es kann natürlich auch sein, dass die Maus und Inkey funktionen sich u.U. nur auf das Falsche FBGfX-Fenster beziehen
musst du halt mal ausprobieren
mfG
d1rty h4rry _________________ "Das Fernsehen ist so etwas wie eine geistige Neutronenbombe, das Gehirn wird weggestrahlt. Nur der Kopf bleibt da!" -Olliver Kalkhofe
-> http://fernsehkritik.tv/tv-magazin/
"Wenn alle Stricke reißen, dann häng ich mich auf", Karl Kreiss  |
|
Nach oben |
|
 |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 06.09.2009, 22:22 Titel: |
|
|
@d1rty.h4rry: Genau das funktioniert leider nicht .. hast du genau diese funktionen mal in eine DLL gepackt und von einem hauptprorgamm aus aufgerufen? .. da kommt leider nix bei rum ( |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 06.09.2009, 22:26 Titel: |
|
|
Zitat: | 'Wie man mehrere Variablen zurückgeben kann weiß ich leider nicht |
Schonmal was von Arrays gehört? _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 06.09.2009, 23:16 Titel: |
|
|
Ansonsten nehme ich da auch gern mal ein UDT zur Rückgabe. Möglich wäre auch eine Parameterübergabe BYREF, da würde ich mir aber gut überlegen, ob es sinnvoll ist.
(GETMOUSE funktioniert übrigens in der Art) _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 07.09.2009, 08:54 Titel: |
|
|
Code: |
sub GetMouse2 cdecl alias "getmouse2"(byref mx as integer, byref my as integer, byref ms as integer, byref mb as integer) export
getmouse mx,my,ms,mb
end sub
|
So hatte ich das gemacht.. prinzipiell funktioniert die Funktion super, nur getmouse liefert keine werte (-1)
Etwas ähnliches hatte ich mit ScreenEvent und Inkey versucht.. jeweils mit keinen änderungen in den Werten wenn man mit der maus über das fenster fährt oder ne taste drückt.. (natürlich bei aktivierten dll-fenster!) |
|
Nach oben |
|
 |
|