Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Wort ständig automatisch eingeben (https://www.delphipraxis.net/6585-wort-staendig-automatisch-eingeben.html)

Uncle Cracker 15. Jul 2003 20:16


Wort ständig automatisch eingeben
 
Ist bestimmt die falsche Sparte, aber hat ja was mit Games zutun.

Ist es irgenwie möglich das ein Wort vom Rechner ständig eingegeben wird?

Ich soll nämlich ein Cheat-Tool für einen Freund programmieren. Da ich aber die Adresse im Speicher nicht rausbekomme um zu cheaten, wollte ich wissen, ob es irgenwie geht ein Wort, also einen Cheat ständig hintereinander einzugeben.

Vielleicht hat jemand eine Ahnung oder andere Möglichkeit wie das gehen könnte.


:love: Danke UC

CalganX 15. Jul 2003 20:26

Re: Wort ständig automatisch eingeben
 
Hi,
du bräuchtest das Handle des Textfensters. Bei Games kannst du das allerdings vergessen.
Es gibt allerdings garantiert eine Speicheradresse für das, was du machen willst. Ansonsten wäre das in einer Datei ausgelagert... ;)

Zum Zugreifen auf Speicheradressen findest du auch hier in der DP einiges.

Chris

Uncle Cracker 15. Jul 2003 20:33

Re: Wort ständig automatisch eingeben
 
Also kann man überhaupt kein Wort immer wieder eingeben lassen.

CalganX 15. Jul 2003 20:43

Re: Wort ständig automatisch eingeben
 
Theoretisch ja, praktisch nein.

Aber an sich sollte es dann doch so ungefähr gehen:
Delphi-Quellcode:
var
  i: integer;
  aHwnd: DWORD;
  sTmp: string;
{...}
aHwnd := FindWindow(nil, 'Fenstertitel');
sTmp := 'lumberjack'; // zB für AoE2
for i:=1 to 100 do begin
  SendMessage(aHwnd, WM_SETTEXT, 0, StrToInt(sTmp));
end;
untested

Chris

moori 15. Jul 2003 20:44

Re: Wort ständig automatisch eingeben
 
Hi UC,

du willst wohl nen Trainer proggen.

Dieser gibt alle par sekunden einen cheat ein.

Wie schon erwähnt musst du wissen ob du die Cheats in den Speicher "eingeben" musst, oder ob das ganze über eine Art LogFile an das Game übergeben werden muss.

Um was für ein Game handelt es sich den???


Gruss Moori

Uncle Cracker 15. Jul 2003 20:59

Re: Wort ständig automatisch eingeben
 
GTA:Vice City

Habe keine Speicheradresse gefunden.

Mit GameWiz32 und mit MemHack auch nicht.

moori 15. Jul 2003 21:28

Re: Wort ständig automatisch eingeben
 
Hallo

AH GT3 VC. Ok da müsste es eigentlich ausreichen, Eine Eingabe zu Simulieren.

Da GT3 VC nur eine Art OnKeypressed-Ereigniss verwendet und die Einzelnen Tasten nacheinander zum Cheat zusammenfügt (sofern die Tastenfolge einem Cheat entsprechen könnte), reicht es völlig aus die Eingabe von Cheats über Delphi zu Simulieren. Du brauchst keinen Speicher zu suchen.

Die Cheats werden nichtmal über eine Konsole eingegeben, sondern direkt "ins Spiel".

Mein Tipp: Simuliere einfach das Eingeben von Cheats (Simuliere Tastendrücke).

Gruss Moori

Uncle Cracker 15. Jul 2003 21:39

Re: Wort ständig automatisch eingeben
 
Hättest du da ein Codebeispiel für mich :roll:


:love: Danke UC

moori 15. Jul 2003 22:17

Re: Wort ständig automatisch eingeben
 
Serrs,

Probier mal folgendes (Vorsicht habs nich getestet);

Delphi-Quellcode:
SendMessage(ActiveControl.Handle, WM_KEYDOWN, Ord('N'), 0);
SendMessage(ActiveControl.Handle, WM_KEYUP, Ord('N'), 0);
SendMessage(ActiveControl.Handle, WM_KEYDOWN, Ord('U'), 0);
SendMessage(ActiveControl.Handle, WM_KEYUP, Ord('U'), 0);
SendMessage(ActiveControl.Handle, WM_KEYDOWN, Ord('T'), 0);
SendMessage(ActiveControl.Handle, WM_KEYUP, Ord('T'), 0);
SendMessage(ActiveControl.Handle, WM_KEYDOWN, Ord('T'), 0);
SendMessage(ActiveControl.Handle, WM_KEYUP, Ord('T'), 0);
SendMessage(ActiveControl.Handle, WM_KEYDOWN, Ord('E'), 0);
SendMessage(ActiveControl.Handle, WM_KEYUP, Ord('E'), 0);
SendMessage(ActiveControl.Handle, WM_KEYDOWN, Ord('R'), 0);
SendMessage(ActiveControl.Handle, WM_KEYUP, Ord('R'), 0);
SendMessage(ActiveControl.Handle, WM_KEYDOWN, Ord('T'), 0);
SendMessage(ActiveControl.Handle, WM_KEYUP, Ord('T'), 0);
SendMessage(ActiveControl.Handle, WM_KEYDOWN, Ord('O'), 0);
SendMessage(ActiveControl.Handle, WM_KEYUP, Ord('O'), 0);
SendMessage(ActiveControl.Handle, WM_KEYDOWN, Ord('O'), 0);
SendMessage(ActiveControl.Handle, WM_KEYUP, Ord('O'), 0);
SendMessage(ActiveControl.Handle, WM_KEYDOWN, Ord('L'), 0);
SendMessage(ActiveControl.Handle, WM_KEYUP, Ord('L'), 0);
SendMessage(ActiveControl.Handle, WM_KEYDOWN, Ord('S'), 0);
SendMessage(ActiveControl.Handle, WM_KEYUP, Ord('S'), 0);
Verbinde das mit nem Timer stell den auf 20 Sek ein geh ins Spiel und warte ob du nun die "Harten Waffen" bekommst. (Nuttertools=Besten Waffen aus dem Spiel)

Gruss Moori

Christian Seehase 15. Jul 2003 23:59

Re: Wort ständig automatisch eingeben
 
Moin Moori,

das wird nicht funktionieren können, da ActiveControl das gerade aktive Control des eigenen Programmes meint. ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:27 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz