OldSchoolHack

Register / Login English

SendMessage funktioniert nicht


icon SendMessage funktioniert nicht #1

Join Date: May 2013

Posts: 15

Hallo an alle oldschoolhack-Benutzer,

ich hab heute mal wieder angefangen etwas zu coden und bin nach einiger Zeit wieder auf ein Problem gestoßen:
Undzwar möchte ich mit SendMessage einen Leertastenanschlag simulieren.
Probiert hab ich das so:
TEXT Code:
  1. SendMessage(hWnd, WM_KEYDOWN, VK_SPACE, 0);
  2. SendMessage(hWnd, WM_KEYUP, VK_SPACE, 0);
Leider scheint dies aber nicht zu funktionieren - Leertaste wird nicht an das Fenster gesendet. Ich denke dass es am letzten Parameter liegt, habe auch schon probiert in Google eine Lösung zu finden. Letztes mal hatte mir Dr_Pepper geholfen und hat mir diesen Code für VK_LCONTROL gegeben:
TEXT Code:
  1. SendMessage(hWnd, WM_KEYDOWN, VK_LCONTROL, 0x1D0000);
  2. SendMessage(hWnd, WM_KEYUP, VK_LCONTROL, 0x1D0000);
Ich würde gern wissen wie ich das ganze zum Laufen bringe, damit ich beim nächsten Mal nicht wieder direkt fragen muss

Lg speed

icon #2

Join Date: May 2011

Posts: 419

User-Rating:

199 positive
8 negative
Quote from speedkill99
Ich denke dass es am letzten Parameter liegt
gz, hast deinen fehler schon gefunden.
Only registered and activated users can see links. und Only registered and activated users can see links. kannst du nachlesen warum das so ist.

mfg Dr_Pepper

__________________

http://abload.de/img/signaturmitoshlogos2ufb.jpg
http://abload.de/img/pfeila4uzk.png Da unten ist ein Like-Button, benutze ihn doch
Last edited by Dr_Pepper (Tue 6. Aug 2013, 22:56)

Reason: no reason given

icon #3

Join Date: May 2011

Posts: 419

User-Rating:

199 positive
8 negative
Da ich nocheinmal per PM gefragt wurde:
Quote from speedkill99
das ist mir jetzt nen bisschen peinlich aber ehrlich gesagt versteh ich das mit dem letzten parameter nicht ganz (mangelnde englisch kenntnisse). gib es eine ähnliche erklärung auch in deutsch?

Lg speed

Das es hier an Englisch-Kenntnissem mangelt bezweifel ich mal
Hier mangelt es eher an Programmierer-Kenntnissen ...

TEXT Code:
  1. lParam
  2. The repeat count, scan code, extended-key flag, context code, previous key-state flag,
  3. and transition-state flag, as shown following.
  4.  
  5. Bits  |  Meaning
  6. -----------------------------------------------------------------------------------------
  7. 0-15  | The repeat count for the current message. The value is the
  8.      | number of times the keystroke is autorepeated as a result of the user
  9.      | holding down the key. If the keystroke is held long enough,
  10.      | multiple messages are sent. However, the repeat count is not cumulative.
  11. -----------------------------------------------------------------------------------------
  12. 16-23 | The scan code. The value depends on the OEM.
  13. -----------------------------------------------------------------------------------------
  14. 24    | Indicates whether the key is an extended key,  such as the right-hand ALT
  15.      | and CTRL keys that appear on an enhanced 101- or 102-key keyboard.
  16.      | The value is 1 if it is an extended key; otherwise, it is 0.
  17. -----------------------------------------------------------------------------------------
  18. 25-28 | Reserved; do not use.
  19. -----------------------------------------------------------------------------------------
  20. 29    | The context code. The value is always 0 for a WM_KEYDOWN message.
  21. -----------------------------------------------------------------------------------------
  22. 30    | The previous key state. The value is 1 if the key is down before
  23.      | the message is sent, or it is zero if the key is up.
  24. -----------------------------------------------------------------------------------------
  25. 31    | The transition state. The value is always 0 for a WM_KEYDOWN message.

also, der lParam besteht aus 32 Bits, nun schauen wir uns mal an,
wie der lParam für VK_LCONTROL in Binär aussieht:

TEXT Code:
  1. 0000 0000 0001 1101 0000 0000 0000 0000

Ein blick in die Tabelle verrät uns, das die bits 16 - 23 der Scancode sind, also:

TEXT Code:
  1. Binär:
  2. 001 1101
  3.  
  4. Hexdezimal:
  5. 1D
  6.  
  7. Dezimal:
  8. 29

Eine liste mit den verschiedenen Scancodes gibt es Only registered and activated users can see links.
Zum umrechnen benutzt du am besten den Windows Taschenrechner
in der Programmierer-Ansicht


mfg Dr_Pepper

__________________

http://abload.de/img/signaturmitoshlogos2ufb.jpg
http://abload.de/img/pfeila4uzk.png Da unten ist ein Like-Button, benutze ihn doch
Last edited by Dr_Pepper (Wed 7. Aug 2013, 02:51)

Reason: no reason given

icon #4

Join Date: Aug 2007

Posts: 8646

User-Rating:

199 positive
33 negative
um Tastendrücke an ein fremdes Programm zu schicken, sollte sowieso eher SendInput verwendet werden.

__________________

Hallo