Tastendruck (Maus macht probleme)

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Tastendruck (Maus macht probleme)

Beitrag von Tsuki-Namida »

Hallo,
ein gutewr bekannter hat ein spiel wo man offt immer die ein und die selbe tasten kombination drücken muss um was zu erreichen.
er hat mich gefragt ob es möglich ist ein tool zu schreiben das diese tasten simuliert ich habe mit ja geantwortet und das ich mich da erst schlau machen muss...

naja nach langer suche habe ich leider nichts gefunden....

ich habe mir das so gedacht:
ich aktiviere die tasten kombi mit einem global hotkey und schalte es auch wieder ab...

meine frage ist jetzt wie simoliere ich tasten auf der tastatur und auf der maus?
Zuletzt geändert von Tsuki-Namida am 26.05.2007 11:46, insgesamt 1-mal geändert.
Bild
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Nichts gefunden? Wonach hast du gesucht? Hund, Katze, Maus?

Guckst du hier: http://www.purebasic.fr/german/search.php?mode=results
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Andreas_S
Beiträge: 787
Registriert: 14.04.2007 16:48
Wohnort: Wien Umgebung
Kontaktdaten:

Beitrag von Andreas_S »

Das geht mit keybd_event_(), und zwar so:

Code: Alles auswählen

keybd_event_(vk,0,0,0)
keybd_event_(vk,0,#KEYEVENTF_KEYUP,0)
Statt vk kannst du eine Konstante einsetzten, z.B.: #vk_a (Taste >a< wird simmuliert). Kombinationen gehen glaub ich mit |.

>>keybd_event_(vk,0,0,0) simuliert den "Down" drück.
>>keybd_event_(vk,0,#KEYEVENTF_KEYUP,0) simuliert den "Up" drück.

Die Konstanten ähneln sich sehr mit denen von AddKeyboardShortcut!
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag von Tsuki-Namida »

super danke.... das wird mir weiter helfen :)
Bild
ReneEi
Beiträge: 9
Registriert: 11.04.2007 17:19

Beitrag von ReneEi »

kann mir jemand sagen wie ich zahlen dan benutzte also nicht up drücken sondern z.b alle paar secunden 1 oder 2 oder 3....
Andreas_S
Beiträge: 787
Registriert: 14.04.2007 16:48
Wohnort: Wien Umgebung
Kontaktdaten:

Beitrag von Andreas_S »

Was willst du? Alle paar Sekunden die Taste drücken lassen?
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag von Tsuki-Namida »

wenn du die zahlen der konstanden wissenwillst dann finde es doch so raus

debug #VK_A
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

@Rene

formulier doch bitte erstmal deine frage verständlich.
wenn wir rumraten was du willst, bringt das nix.


@Kain
dein banner is eigentlich n bissel groß, aber bei 5KB geht das noch.
...nur dass jetzt nicht andere anfangen, sich 100KB banner in die sig zu packen...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag von Tsuki-Namida »

mist -.- ich habe ein neues problem :(

und zwar habe ich folgendes gemacht:

Code: Alles auswählen

#MOUSEEVENTF_MOVE = $1
#MOUSEEVENTF_ABSOLUTE = $8000
#MOUSEEVENTF_LEFTDOWN = $2
#MOUSEEVENTF_LEFTUP = $4
#MOUSEEVENTF_MIDDLEDOWN = $20
#MOUSEEVENTF_MIDDLEUP = $40
#MOUSEEVENTF_RIGHTDOWN = $8
#MOUSEEVENTF_RIGHTUP = $10

Procedure MouseEvent(Ereignis.l)
  Mem.l=GlobalAlloc_(0,8)
  GetCursorPos_(Mem)
  mouse_event_(Ereignis|#MOUSEEVENTF_ABSOLUTE, PeekL(Mem)*($FFFF/GetSystemMetrics_(0)), PeekL(Mem+4)*($FFFF/GetSystemMetrics_(1)), 0, GetMessageExtraInfo_())
  GlobalFree_(Mem)
EndProcedure

MouseEvent(#MOUSEEVENTF_MIDDLEDOWN)
MouseEvent(#MOUSEEVENTF_LEFTUP) 
diese Zeilen sind dazu da um die linke maustaste zu betätigen....
aber im game macht das die maus nicht :( im gegenteil sie bewegt sich an eine ecke des bildschirms :( immer abwechelnt unten rechts und oben links...

was habe ich da falsch gemacht???
Bild
Antworten