WinAPI - SendInput
Übersicht

![]() |
Der EisvogelBetreff: WinAPI - SendInput |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo
Ich komme mit der Funktion SendInput der WinAPI irgendwie nicht klar. Ich versuche einen Tastendruck zu simulieren, jedoch bekomme ich als Error immer gesagt, dass ich falsche Parameter übergeben. BlitzMax: [AUSKLAPPEN] SuperStrict Ich weiß, dass es auch einfacher mit Post/SendMessage oder keybd_event geht, aber das ist in meinem Fall leider nicht möglich, daher muss ich auf eine andere Funktion zurückgreifen, da bin ich auf SendInput gestoßen, doch irgendwie mag mich die Funktion nicht. Was mache ich falsch? Ist meine INPUT-Klasse falsch? MfG Der Eisvogel |
||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
![]() |
AnniXa |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn es so garnicht geht, kannst du vieleicht ja versuchen die autoitx3.dll zu nehmen.
Code: [AUSKLAPPEN] Global DLLHandle:Int = LoadLibraryA("AutoItX3.dll") Global AU3_Init() "win32" = GetProcAddress(DLLHandle, "AU3_Init") Global AU3_Send(szSendText$w, nMode:Int) "win32" = GetProcAddress(DLLHandle, "AU3_Send") Global AU3_SendA(szSendText$z, nMode:Int) "win32" = GetProcAddress(DLLHandle, "AU3_SendA") |
||
|moonForge|
Ich bin Pokémon Meisterin seit 1998! |
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das funktioniert für meinen Zweck leider auch nicht, ich hatte schonmal versucht jene Funktionen direkt in AutoIT aufzurufen. | ||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
![]() |
Thunder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Liegt mit ziemlicher Sicherheit an deiner Input-Klasse. In Types werden viele Daten hineinkompiliert, die man selbst gar nicht dorthin getan hat.
Mache am besten mit einem Zeiger und MemAlloc eine Speicherstruktur selber (oder auch mit Banks und der Methode lock) und übergib diese Struktur ( nicht vergessen den Speicher wieder freizugeben ). mfg Thunder |
||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich bekomme immernoch den selben Fehler mit MemAlloc:
BlitzMax: [AUSKLAPPEN] Local test:Byte Ptr = MemAlloc(20) |
||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
![]() |
Xaymarehemals "Cgamer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
BlitzMax: [AUSKLAPPEN] DebugLog SendInput(1, test, 28) Zitat: union {
MOUSEINPUT mi; KEYBDINPUT ki; HARDWAREINPUT hi; } ; union lässt alle drei structs auf demselben speicher laufen. was heißt, das die Input Struct in wirklichkeit 28 Bytes groß ist. http://msdn.microsoft.com/en-u...85%29.aspx http://msdn.microsoft.com/en-u...85%29.aspx http://msdn.microsoft.com/en-u...85%29.aspx http://msdn.microsoft.com/en-u...85%29.aspx http://msdn.microsoft.com/en-u...85%29.aspx Für dwExtraInfo musst du dann das aufrufen und einspeichern: http://msdn.microsoft.com/en-us/library/ms644937(v=VS.85).aspx |
||
Warbseite |
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielen Dank! Jetzt geht es.
MfG Der Eisvogel |
||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group