|
You last visited: Today at 10:54
Advertisement
GameGuard blockt tasten senden umgehen?
Discussion on GameGuard blockt tasten senden umgehen? within the AutoIt forum part of the Coders Den category.
06/29/2010, 11:54
|
#1
|
elite*gold: 271
Join Date: Mar 2008
Posts: 9,461
Received Thanks: 2,082
|
GameGuard blockt tasten senden umgehen?
Wie der Titel schon sagt denke ich das GameGuard das senden von Tasten per AutoIT blockt. (Im Editor sendet er die Tasten aber im Spiel nicht.)
Kann man das evtl. irgendwie umgehen?
|
|
|
06/29/2010, 12:06
|
#2
|
elite*gold: 18
Join Date: Sep 2009
Posts: 20,177
Received Thanks: 14,471
|
Wenn du den nProtect GameGuard meinst, der in FlyFF genutzt wird, muss ich dir sagen, dass die files also der Server generell nicht auf Sendkeys reagiert.
Edit:
Versuch mal Postmessage.
|
|
|
06/29/2010, 12:19
|
#3
|
elite*gold: 271
Join Date: Mar 2008
Posts: 9,461
Received Thanks: 2,082
|
Ich meine nicht Flyff aber ja nProtect GameGuard was meinst du mit Postmessage? bin noch nich so erfahren in AutoIT
|
|
|
06/29/2010, 12:25
|
#4
|
elite*gold: 18
Join Date: Sep 2009
Posts: 20,177
Received Thanks: 14,471
|
Ich kenn mich mit Postmessage nicht aus aber ich weis, dass damit oft der gameguard ausgetrickst wurde.
|
|
|
06/29/2010, 13:57
|
#5
|
elite*gold: 100
Join Date: Oct 2007
Posts: 738
Received Thanks: 485
|
Postmessage + au3:
Code:
Global $hwnd = WinGetHandle("Metin2 oder whatever...")
$string = "hallo"
$text = StringSplit($string ,"")
for $i = 1 to ubound($text)
KeySend($text[$i])
next
; send single keyboard event to non active window
; event = pressed, down, up
; kdown = key down delay
; note: supports only lower case keys + NUMx, Fx, some special keys and @
Func KeySend($inkey, $evt ="pressed", $kdown = 50)
$user32 = DllOpen("user32.dll")
if $user32 = -1 Then
ConsoleWrite("KeySend: cannot open user32.dll")
Exit
EndIf
; handling for special keys
Switch StringUpper($inkey)
Case "@"
$skey = 0x40
$lparam = 0x00100001
DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_KEYDOWN, "int", 0x71, "long", $lparam)
DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_CHAR, "int", $skey, "long", $lparam)
Sleep(20)
DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_KEYUP, "int", 0x71, "long", BitOR($lparam, 0xC0000000))
Case "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12"
$skey = 0x6f + Int(StringMid($inkey, 2))
ContinueCase
Case "NUM0", "NUM1", "NUM2", "NUM3", "NUM4", "NUM5", "NUM6", "NUM7", "NUM8" , "NUM9"
if StringUpper(StringLeft($inkey, 3)) = "NUM" Then
$skey = 0x60 + Int(StringMid($inkey, 4))
EndIf
ContinueCase
Case "RETURN", "SPACE", "TAB", "BACK", "END", "HOME", "SNAPSHOT", "INSERT", "DELETE", "LEFT", "RIGHT", "UP", "DOWN"
Switch StringUpper($inkey)
Case "RETURN"
$skey = 0x0D
Case "SPACE"
$skey = 0x20
Case "TAB"
$skey = 0x09
Case "BACK"
$skey = 0x08
Case "END"
$skey = 0x23
Case "HOME"
$skey = 0x24
Case "SNAPSHOT"
$skey = 0x2c
Case "INSERT"
$skey = 0x2d
Case "DELETE"
$skey = 0x2e
Case "LEFT"
$skey = 0x25
Case "RIGHT"
$skey = 0x27
Case "UP"
$skey = 0x26
Case "DOWN"
$skey = 0x28
EndSwitch
$ret = DllCall($user32, "int", "MapVirtualKey", "int", $skey, "int", 0)
$lparam = BitShift($ret[0], -16)
$lparam = BitOr($lparam, 1)
DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_KEYDOWN, "int", $skey, "long", $lparam)
Sleep($kdown)
DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_KEYUP, "int", $skey, "long", BitOR($lparam, 0xC0000000))
Case Else ; default lower case key handling
$key = DllCall($user32, "int", "VkKeyScan", "int", Asc(StringLower($inkey)))
$skey = $key[0]
$ret = DllCall($user32, "int", "MapVirtualKey", "int", $skey, "int", 0)
$lparam = BitShift($ret[0], -16)
$lparam = BitOr($lparam, 1)
Select
Case $evt = "pressed"
DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_KEYDOWN, "int", $skey, "long", $lparam)
Sleep($kdown)
DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_KEYUP, "int", $skey, "long", BitOR($lparam, 0xC0000000))
Case $evt = "down"
DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_KEYDOWN, "int", $skey, "long", $lparam)
Case $evt = "up"
DllCall($user32, "int", "PostMessage", "hwnd", $hwnd, "int", $WM_KEYUP, "int", $skey, "long", BitOR($lparam, 0xC0000000))
EndSelect
EndSwitch
DllClose($user32)
EndFunc
|
|
|
|
Similar Threads
|
Kleine frage über tasten senden
06/03/2010 - AutoIt - 7 Replies
Also 1. Frage
wie sende ich eine Leertaste.. geht das mit
Send ("{Space}")
oder wie?
und dann wie mache ich das wenn ich U drücke das der dann anfängt leertaste zu drücken (abstand so 100 milisekunden)
und dann nochmal u drücke, dass der dann aufhört?
hab mir die tutorials durchgeschaut aber schlau bin ich daraus nicht geworden
|
C#an Prozess Tasten senden
03/26/2010 - .NET Languages - 5 Replies
Hallo @all,
ich habe mal folgende Frage und zwar, wie kann man diverse Tastenbefehle, Tastendrücke an einen bestimmten Prozess senden ohne das der Prozess in den Vordergrund muss?
Beispiel: Das C# Programm soll die Buchstaben "A,B,C" an Notepad schicken was aber minimiert oder im Hintergrund ( Nicht fokusiert ) ist.
Falls mir jemand weiter helfen kann wäre ihm dem jenigen sehr dankbar.
Vielen Dank schon mal.
See Ya!
|
GameGuard umgehen
03/06/2010 - Main - 0 Replies
Hey jungs weis jemand wie ich GameGuard umgehen kann? -.-
Ich kann fast kein FreeMMO starten (nur die richtigen scheis teile^^)
Will Cabal zocken aber da kommt immer Meldung wegen GameGuard...
Hab Linux
|
All times are GMT +2. The time now is 10:54.
|
|