Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Tastendruck im spiel simulieren (https://www.delphipraxis.net/133481-tastendruck-im-spiel-simulieren.html)

sportkeks 2. Mai 2009 22:48


Tastendruck im spiel simulieren
 
Hi ich hab ein problem und hoffe hier kann mir jemand weiter helfen ich möchte das wenn ich eine bestimmte taste drücke (in dem fall ",") das dan eine andere taste (in dem fall "´") ganz oft hintereinander im spiel gedrückt wird.

das ist mein code bis jetzt:

Delphi-Quellcode:
var
  Form1: TForm1;
  Pressed:integer;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
keypreview:=true;
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = VK_DECIMAL then Pressed:=1;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if pressed = 1 then
  begin
    keybd_event(VKKeyScan('´'),0,0,0);
    keybd_event(239, 0, KEYEVENTF_KEYUP, 0);
  end;
end;

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = VK_DECIMAL then Pressed:=0;
end;

end.
Das Problem:
Der code funktioniert nur wenn ich im programm bin also wenn ich zb in ein memo oder so reindrücke und dan "," drücke.
Aber sobald ich in Notepad das machen will geht es nicht genaus so wenig wie im spiel.
weiß jemand da eine lösung?

würde mich sehr über eine antwort freuen

greetz
Sportkeks

Medium 3. Mai 2009 03:04

Re: Tastendruck im spiel simulieren
 
Schau dir mal MSDN-Library durchsuchenSendInput an.

Noedel 3. Mai 2009 08:35

Re: Tastendruck im spiel simulieren
 
hört sich ein wenig danach an, alsob da jemand bei WoW creepen gehen will...

sportkeks 3. Mai 2009 09:56

Re: Tastendruck im spiel simulieren
 
nein da muss ich dich leider entäuschen ich spiele kein wow ^^

fkerber 3. Mai 2009 10:00

Re: Tastendruck im spiel simulieren
 
Hi!

Für welches Spiel soll es denn sein?


Ciao, Frederic

himitsu 3. Mai 2009 10:04

Re: Tastendruck im spiel simulieren
 
Das Problem:
Zitat:

Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = VK_DECIMAL then Pressed:=1;
end;

da kommen nur Tasten an, welche an dein Programm gesendet werden ...
bist du aber im Spiel oder woanders, dann werden die Tasten natürlich "nur" an dieses andere Programm gesendet :zwinker:

sportkeks 3. Mai 2009 10:19

Re: Tastendruck im spiel simulieren
 
Zitat:

Zitat von Medium
Schau dir mal MSDN-Library durchsuchenSendInput an.

hmm ich habe damit rumprobiert aber es nicht wirklich hinbekommen ich bin noch ein delphi anfänger und seh da nicht wirklich duch ^^

eine kleine erklärung oder sowas wäre sehr hilfreich.

@himitsu

ja du hast recht aber wie kann ich es machen das das programm auch keys empfängt wenn ich im spiel bin ?

habe die zeile jetzt mit

Delphi-Quellcode:
if (GetASYNCKeyState (VK_DECIMAL) <> 0) then Pressed:=1;
ersetzt aber immernoch kein erfolg :/

lbccaleb 3. Mai 2009 10:37

Re: Tastendruck im spiel simulieren
 
Suche mal nach "Hier im Forum suchenHotKey", damit kannst du System weit einen Hotkey registrieren..

himitsu 3. Mai 2009 11:05

Re: Tastendruck im spiel simulieren
 
Zitat:

Zitat von sportkeks
habe die zeile jetzt mit ... ersetzt aber immernoch kein erfolg :/

ja, weil diese Zeile nicht ausgeführt wird, weil doch FormKeyDown von außen nicht aufgerufen wird ;)

Und wie schon gefragt, welches Spiel denn?
Einige Spiele fangen derartige Cheatversuche ab
und in den AGBs vieler (Online)Spiele ist sowas auch noch verboten und bei erkennen kann da gleich mal der Account dran glauben.

Daniel 3. Mai 2009 11:13

Re: Tastendruck im spiel simulieren
 
Ganz kurz zur Erläuterung:

Solange wir allgemein darüber sprechen, wie man von Anwendung A an Anwendung B einen Tastendruck senden kann, ist das völlig in Ordnung. In dem Moment, in dem ein konkretes Ziel (Online-Soiel oder -Plattform oder dgl.) genannt oder deutlich erkennbar wird, reden wir im weitesten Sinne oder einen Angriff bzw. eine Attacke und ich mache das Thema zu.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:33 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