Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Tasten senden problem (https://www.delphipraxis.net/48257-tasten-senden-problem.html)

Assun 22. Jun 2005 22:26


Tasten senden problem
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi !

was bitte ist denn an diesem code falsch ?
Delphi-Quellcode:
procedure Cheat(myString : String);
var
  c : Cardinal;
  i : integer;
  s : String;
begin
  c:=FindWindow(nil,'GTA: San Andreas'); //Get WindowHandle
  if c=0 then
  begin
    MessageDlg('Sie müssen das Spiel zuerst starten !',mtwarning,[mbOK],0);
    Exit;
  end;
for i := 1 to Length(mystring) do
SendMessage(c, WM_CHAR, Ord(mystring[i]), 0); //send Keys
CloseHandle(c);
end;

procedure TForm1.WMHotKey(var msg: TMessage);
begin
if (msg.WParam = 1) then Cheat('LXGIWYL');      // you can choose any number ( up to 4000 )

end;
er bringt mir immer ne exception (die is nie zu sehen) also der debugger mein ich.

und bewirken tuts gar nix :P

Findet ihr da nen fehler ?

Gruß Assun

edit // geemacht. nu bringt er mir Externe Exception XXXX (nen paar zahlen)

edit // Wieder geändert. es folgt die gleiche exception :-(

kennts sich damit jemand aus?

Edit :// habe diesen wahnsinnscode gefunden : http://www.swissdelphicenter.ch/de/showcode.php?id=220

ich habe es aber auch schonmal mit nur 4 Zeilen geschafft. Ich weiss nur nicht mehr wie :wall:

// Code wieder geändert und wieder ne wunderschöne exception (anhang) :-(

malo 22. Jun 2005 22:31

Re: Tasten senden problem
 
Verschieb mal die Compiler-Direktive in deinem Code. Die muss bestimmt an den Anfang des Implemantation-Abschnittes, nciht in die Mitte :roll:

//edit: Welcher Fehler soll denn dort vorkommen? Bitte einmal eine GENAUE FEHLERBESCHREIBUNG machen.

muRR 22. Jun 2005 22:33

Re: Tasten senden problem
 
Der Fehler liegt wohl hier:
Zitat:

for i := 1 to Length(s) do
Die Variable s hat keinen Wert. Ich denke mal, du willst myString durchlaufen?

Assun 23. Jun 2005 08:08

Re: Tasten senden problem
 
ich habe den code nochmal verändert, aber ich erhalte immer noch die gleiche Exception.

Kann mir da mal jemand helfen ?

THX

PierreB 23. Jun 2005 10:07

Re: Tasten senden problem
 
Hallo Assun,

ich weiß das gehört jetzt nicht gut zum Thema, aber trotzdem:
Delphi-Quellcode:
if (msg.WParam = 1) then Cheat('LXGIWYL');
Wie mir scheint, versuchst du einen Trainer für San Andreas zu schreiben. Nur leider sendest du direkt den Cheat (Zeichenkette) an das Spiel. Seit Vice City gibt es aber eine Funktion, die das Cheaten zählt. Und wenn man cheatet, kann man keine 100% mehr erreichen. Wenn man es so macht wie du, steht dann in der Statistik das man gecheatet hat. Bei "richtigen" Spieletrainer greift man direkt auf die Speicheradressen zu und kann somit das Spiel beeinflussen, ohne das das Spiel das merkt. Solltest du Trainer schreiben wollen, empfehle ich dir das Trainer Maker Kit 1.5 (Googlesuche).

alcaeus 23. Jun 2005 10:10

Re: Tasten senden problem
 
Hallo Assun,

Zitat:

Zitat von Assun
ich habe den code nochmal verändert, aber ich erhalte immer noch die gleiche Exception.

koenntest du bitte mal sagen wo genau die Exception auftritt? Eine der Zeilen muss die Exception ja ausloesen.

Eventuell solltest du mal
Delphi-Quellcode:
SendMessage(c, WM_CHAR, Ord(mystring[i]), 0); //send Keys
anstatt
Delphi-Quellcode:
SendMessage(c, WM_CHAR, Word(mystring[i]), 0); //send Keys
verwenden, vielleicht hilft das ja.

Greetz
alcaeus

Assun 23. Jun 2005 10:10

Re: Tasten senden problem
 
Liste der Anhänge anzeigen (Anzahl: 1)
das ist mir auch schon aufgefallen. ich habe ja auch schon so memoryhack trainer für NFSU II geschrieben.

Doch warum alles mühsam suchen (Speicheradressen), wenn ich doch einfach cheats eingeben lasse ? :mrgreen:

aber ich werde es wenn ich mal endlich das mit sendkey kapiert hab eh alles eingeben lassen und dann einfach mit nur einem einzigen memoryhack die Zahl wie oft gecheatet wurde einfrieren lassen ^^

Edit // hab den code wieder so verändert wie Alcaeus es mir geraten hat.

wieder ne exception :wall:

Edit :// falls man es auf dem screenie net erkennen sollte : er hat nen probmel in der Linie wo ich versuch die tasten zu senden

PierreB 23. Jun 2005 10:17

Re: Tasten senden problem
 
Zitat:

Zitat von Assun
das ist mir auch schon aufgefallen. ich habe ja auch schon so memoryhack trainer für NFSU II geschrieben.

Doch warum alles mühsam suchen (Speicheradressen), wenn ich doch einfach cheats eingeben lasse ? :mrgreen:

aber ich werde es wenn ich mal endlich das mit sendkey kapiert hab eh alles eingeben lassen und dann einfach mit nur einem einzigen memoryhack die Zahl wie oft gecheatet wurde einfrieren lassen ^^

Dann verstehe ich den Sinn dieses Trainers nicht. Dann kann ich auch einfach die Cheats selber eintippen und brauch kein extra Programm dazu. Ich glaube nicht das du es schaffst du Zählung der Cheats "einfrieren" zu lassen, selbst wenn als Wert in der Statistik 0 steht weiß das Spiel das gecheatet wurde und man wird nie 100% Spielfortschritt erreichen können.

Außerdem ist San Andreas das beste Spiel des Jahres 2005, und das sollte man ohne Cheats genießen... ;)

Assun 23. Jun 2005 14:34

Re: Tasten senden problem
 
naja aber ich mach das ja auch net um des cheatens willen sondern um des Lernens willen ;-)

weiss keiner eine Antwort?

alcaeus 23. Jun 2005 14:36

Re: Tasten senden problem
 
Zitat:

Zitat von Assun
weiss keiner eine Antwort?

*hust* Wie bitte? Find doch mal raus wo die Exception auftritt und sag uns das. Mir ist nicht nach Ratespielen, und ich denke den andern gehts genauso :roll:
Hast du schon mal versucht, mit dem Code einen String an ein anderes Fenster zu schicken? Funktioniert das?

Greetz
alcaeus


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:48 Uhr.
Seite 1 von 3  1 23      

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