Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Tastendruck an ein minimiertes Programm senden (https://www.delphipraxis.net/112369-tastendruck-ein-minimiertes-programm-senden.html)

napsterxx 19. Apr 2008 19:49


Tastendruck an ein minimiertes Programm senden
 
Ich möchte eig einen kompletten Text in ein Editfeld in einem Programm einfügen, jedoch beschränke ich mich jetzt erstmal auf eine Taste :D Kann da jemand helfen? Ich finde immer nur "simulieren" aber nur bei aktiven Fenstern.

Ich habe nur das gefunden:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  wnd: HWND;
  i: Integer;
  s: string;
begin
  wnd := FindWindow('notepad', nil);
  if wnd <> 0 then
  begin
    wnd := FindWindowEx(wnd, 0, 'Edit', nil);

    // Write Text in Notepad.
    // Text ins Notepad schreiben.
    s := 'Hello';
    for i := 1 to Length(s) do
      SendMessage(wnd, WM_CHAR, Word(s[i]), 0);
    // Simulate Return Key.
    PostMessage(wnd, WM_KEYDOWN, VK_RETURN, 0);
    // Simulate Space.
    PostMessage(wnd, WM_KEYDOWN, VK_SPACE, 0);
  end;
end;
Aber wenn ich anstatt notepad, Garena eintrage so geht das nicht

lbccaleb 19. Apr 2008 20:07

Re: Tastendruck an ein minimiertes Programm senden
 
du kannst auch setwindowtext benutzen..

achso du musst auch die genaue fensterbezeichnung eintragen, ansonnsten findet er das fenster nicht, die genaue bezeichnung kannst du zb mit etwas besseren taskmanagern auslesen..

napsterxx 19. Apr 2008 23:23

Re: Tastendruck an ein minimiertes Programm senden
 
di ebeschriftung stimmt ... es funktioniert trotzdem nicht

toms 20. Apr 2008 05:48

Re: Tastendruck an ein minimiertes Programm senden
 
Hallo, hast du das richtige Control gefunden?
Ist das Handle gültig (<> 0)

Kannst ja mal von meinem WinSpy den FindCode generieren lassen.

Christian Seehase 20. Apr 2008 12:35

Re: Tastendruck an ein minimiertes Programm senden
 
Moin NapsterXX,

ein Tastendruck setzt sich aus einer WM_KEYDOWN / WM_KEYUP Kombination zusammen.

napsterxx 21. Apr 2008 14:05

Re: Tastendruck an ein minimiertes Programm senden
 
Damn das hab ich verpeilt, aber woher weis ich was das für ein Control ist, wie findet man das raus

toms 21. Apr 2008 14:08

Re: Tastendruck an ein minimiertes Programm senden
 
Zitat:

Zitat von napsterxx
Damn das hab ich verpeilt, aber woher weis ich was das für ein Control ist, wie findet man das raus

z.B mit dem WinSpy

Berlinermauer 21. Apr 2008 14:36

Re: Tastendruck an ein minimiertes Programm senden
 
Also ich gehe mal davon Aus dass du keinen Keylogger bauen willst ^^

Aber wenn ich das richtig verstanden habe wartet das Programm auf einen gewissen eingetippten Text ? dann kannst du dir das Beispiel eines Keyloggers anschauen und daraus lernen, denn die warten ja bis eine Taste IRGENDWO gedrückt wird und reagieren darauf, denn die können ja nicht alle Fensternamen kennen die es gibt. Klardoch ein KeyLogger mit 1gb downloaden^^ :drunken:

napsterxx 21. Apr 2008 18:57

Re: Tastendruck an ein minimiertes Programm senden
 
nein um gottes willen, ich möchte alle 5s einen text an ein handle in einem programm senden, und dann mit enter bestätigen

lbccaleb 21. Apr 2008 19:00

Re: Tastendruck an ein minimiertes Programm senden
 
Zitat:

Zitat von napsterxx
nein um gottes willen, ich möchte alle 5s einen text an ein handle in einem programm senden, und dann mit enter bestätigen

das hört sich zwar nicht nach nem keylogger an, aber dafür nach einer brutforce methode??!!

napsterxx 22. Apr 2008 14:53

Re: Tastendruck an ein minimiertes Programm senden
 
OMFG wieso muss man alles rechtfertigen was man machen möchte?
Ich will ein Programm schreiben was alle 5s an GArena, einen Text schickt und diesen mit Enter bestätigt, sodass immer wieder gepostet wird "CS 1.6 Server Hostet 11/12 Players Join now, get max exp" oder sowas, das einfach immer wieder ohne das man Garenals aktives fenster haben muss

napsterxx 25. Apr 2008 19:01

Re: Tastendruck an ein minimiertes Programm senden
 
Push :D

lbccaleb 25. Apr 2008 20:15

Re: Tastendruck an ein minimiertes Programm senden
 
hast du dieses schon ausprobiert?? das sollte dir weiter helfen:

Zitat:

Zitat von toms
Zitat:

Zitat von napsterxx
Damn das hab ich verpeilt, aber woher weis ich was das für ein Control ist, wie findet man das raus

z.B mit dem WinSpy


napsterxx 26. Apr 2008 11:00

Re: Tastendruck an ein minimiertes Programm senden
 
Ja klar, im Keylogger wird ja alles gespeichert was getippt wird, aber es wird nur der Fenstername angezeigt in dem in Tippe.

napsterxx 30. Apr 2008 19:04

Re: Tastendruck an ein minimiertes Programm senden
 
*push* hust ...

Habs geschafft ein Bild zu machen :D

http://img3.imagebanana.com/img/021l...5630_04_08.jpg


HABS :D

toms 1. Mai 2008 06:48

Re: Tastendruck an ein minimiertes Programm senden
 
Zitat:

Zitat von napsterxx
OMFG wieso muss man alles rechtfertigen was man machen möchte?
Ich will ein Programm schreiben was alle 5s an GArena, einen Text schickt und diesen mit Enter bestätigt, sodass immer wieder gepostet wird "CS 1.6 Server Hostet 11/12 Players Join now, get max exp" oder sowas, das einfach immer wieder ohne das man Garenals aktives fenster haben muss

Was brauchst du denn noch? Das Handle hast du ja gefunden und wie man Text senden kann hast du ja oben beschrieben?
.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:11 Uhr.

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