Hey Leute,
ich bin gerade einen Bot für Last Chaos zu schreiben. Die ganzen Hacks wie Speedhack, Reichweite und Maphack habe ich schon funktioniert auch schon. Nur habe ich ein ganz großes Problem! Wenn ich versuche einen Tastendruck zu simulieren, damit z.B. die Selbstheilung einsetzt, passiert nichts. Kennt sich jemand mit Delphi aus und kann mir da helfen? Hier mal der Source mit dem ich das versucht habe:
Code:
procedure TForm1.Button1Click(Sender: TObject);
var c: THandle;
begin
c:=FindWindow(nil,'LastChaos - Gamigo (Window 1024x768)');
if c<> 0 then
begin
c:=FindWindowEx(c,0,'ViewPort Window',nil);
if c<>0 then
begin
PostMessage(c, WM_KEYDOWN, 73, 1); // Tastendruck simulieren
end;
end;
end;
ich weiß es gibt mit sicherheit ne einfachere Methode als die zeichen als hex values zu übergeben
arbeite normal nicht oft mit PostMessage bin darum für verbesserungen offen ;-)
## EDIT ##
oki das mit dem Handel hab ich mal geändert und hab jetzt auch die definierten Virtual keys verwendet.
Bleibt nur noch der lParam den man nicht immer auf 0 setzen kann.
Die Antwort dürfte hier stehen
versuch das mal kanns leider nicht testen und kann auch kein Delphi hab nur
die Windos API funktionen angepasst ...
PHP Code:
procedure TForm1.Button1Click(Sender: TObject);
var c: HWnd;
Key: Word;
begin
Key := VK_TAB; // wenn das fehler gibt dann die nächste zeile versuchen
//Key := 0x09 // oder wie man hex values auch immer bei Delphi schreibt
c:= FindWindow('Nksp',nil);
if c<> 0 then
begin
PostMessage(c, WM_KEYDOWN, Key, 0);
sleep(100); //Evt. hinabsetzen
PostMessage(c, WM_KEYUP, Key, 0);// Tastendruck simulieren
end;
end;
PS:
LC hat meines wissens kaum Schutz gegen solche Sachen, zumindest hab ich noch nix davon bemerkt xD ... man hat so gut wie freie Hand ^^
joa ich habs so (c/c++) zum laufen gebracht.
Das Problem ist nur das man nicht bei jeder Taste lParam auf 0 setzen kann,
hab mir das aber noch nicht so genau angesehen warum das nicht geht.
VK_TAB sollte (jedenfallst bei mir so) mit lParam auf 0 gehen
Bis jetzt bekomme ich lParam immer durch einen hook auf TranslateMessage raus, was aber nur ne Notlösung ist ...
Wenn wer ne Lösung dafür hat wäre nett sie hier zu posten ^^
erster aufruf ist die Übergabe mit einem Programm (PostMessage) und lParam auf 0 ... keine reaktion im spiel
zweiter aufruf ist normal über Tastatur eingegeben ... und dann ging es
Ich werd mal das ganze weiter verfolgen, wenn ich näheres weiss poste ich es hier rein ^^
Hey,
vst0rm der code den du gepostet hast funktioniert auch nicht. Ich kenne mich leider mit C++ überhaupt nicht aus und in Delphi bin ich auch kein pro deshalb wäre es total nett wenn mir einer erklären könnte wie ich den code von die von C++ in Delphi umschreiben kann.
P.s. Ich finde es total toll wie ihr euch damit beschäftigt um jemanden in diesem Forum weiter zu helfen. Thx
P.s. Ich finde es total toll wie ihr euch damit beschäftigt um jemanden in diesem Forum weiter zu helfen. Thx
Hab mich auch damit gerade beschäftigt ... dachte mir, dann kann ich auch meine Ergebnisse hier teilen ;-)
Warum das bei dir nicht geht weiss ich grade nicht.
Ich hab mal den TranslateMessage Hook zu ner .exe datei gemacht und hoch geladen. Dann kannst ja mal gucken
in wie weit dein Programm und die normale Tastatureingabe sich unterscheiden
Der Hook gibt [ hWnd , wParam und lParam ] aus bei jedem mal wenn eine KEYDOWN message an Nksp.exe übergeben wird