[TUT] KeyBindings w/o GetAsyncKeyStat

S

suxx-

Guten Tag,

Ich darf sie wieder zu einer neuen Ausgabe von 00DE Tutorial Hacks begrüßen.
Heute geht es um KeyBindings ohne GetAsyncKeyStat zu benutzen.

Theorie

Was wollen wir erreichen


  • KeyBindings
  • Mousewheel benutzen können
Was benötigen wir dafür ?

  • Eine hooked WindowProc
So gut nun können wir auch gleich anfangen mit der hooked WindowProc
Code:
LRESULT CALLBACK HookedWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) 
  {
  	return DefWindowProc(hwnd, uMsg, wParam, lParam);
  }

Und schon haben wir die WindowProc gehooked nun müssen wir nur noch Wissen was welcher Parameta bewirkt.

uMsg:
Enthält die entsprechende Nachricht was "gemacht" wurde z.B. die Maus wurde bewegt oder eine Taste wurde gedrückt

wParam:
Enhält Informationen darüber was z.B. noch gedrückt ist also sprich ALT oder STRG öfters auch in High- und Low-Order Words unterteilt speziell wenn man Informationen der Maus erhält

lParam:
Enthält Informationen über den Repeat-Count oder Extended-Key Flags usw.

So nun können wir es auch schon Anwenden
Code:
LRESULT CALLBACK HookedWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) 
  { 
  	if(uMsg == WM_KEYDOWN) // Wenn eine Taste gedrück ist
  	{
  		KeyHandle(wParam); // rufen wir unsere KeyHandle auf
  	}
  return DefWindowProc(hwnd, uMsg, wParam, lParam);
   }

So und unsere KeyHandle könnte in etwa so aussehen

Code:
void KeyHandle(WPARAM Key)
  {
  	 switch (Key) {
  		case VK_DELETE: // Entf <-> Del
  		//Unsere Sachen
  		// z.B. können wir sagen key[VK_DELETE].pressed=!key[VK_DELETE].pressed;
  		// dann können wir es im Hack benutzen wie  auch GetAsyncKeyStat 
  		break;
  		}
  }

So und das war es schon wieder ich hoffe es kann einigen Helfen und nun verabschiede ich mich hiermit in eine wunderschöne Woche Prag also have fun and stay tuned :)
 
und mal wieder ein schönes tut von sux :busch:
weiter so
 

Beliebte Schlagwörter

Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.

Zurück
Oben Unten