Autor Beitrag
Unknown
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 184

Win XP
Delphi 7
BeitragVerfasst: Mo 02.06.08 12:31 
Hallo,

ich hab mir ma nen Prog gebastelt, mit denen ich Strings oder TastenBefehle an inaktive Fenster Senden kann.
Das war alles noch gut und einfach.
Um die ganzen Handles rauszubekommen habe ich WinSpy benutzt.
Hier mein jetziger Code:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
procedure SendString(ClassnameParent, ClassnameChild, Windowname :PAnsiChar);
  var
  wndMain,wndChild: HWND;
  i: Integer;
  s: string;
begin
  wndMain := FindWindow(ClassnameParent,Windowname);
//  wndMain := FindWindow(Classname : PAnsiChar, WindowName : PAnsiChar);
  if wndMain <> 0 then
  begin
    wndChild := FindWindowEx(wndMain, 0, ClassnameChild , nil);
    //wndChild := FindWindowEx(wndMain, 0, Classname : PAnsichar, nil);

    // Write Text in Notepad.
    // Text ins Notepad schreiben.
    s := 'Klappt :D';
    for i := 1 to Length(s) do
      SendMessage(wndChild, WM_CHAR, Word(s[i]), 0);
  end;
end;


Und dann aufgerufen mit :

ausblenden Delphi-Quelltext
1:
SendString('WordPadClass''RICHEDIT50W''Test - WordPad');					


Das lief alles ganz gut =).

Nur möchte ich jetzt ein DirectX Programm ansprechen, halt nen kleinen Bot schreiben =).
Nur bekomme ich mit WinSpy nicht die geschünschten Handles.
Jetzt meine Frage, wie könnte ich das machen.
Danke schonmal für Hilfen

MfG Unknown
Unknown Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 184

Win XP
Delphi 7
BeitragVerfasst: Mo 02.06.08 18:22 
Kann mir keiner helfen ?
Es handelt sich um das Spiel FlyFF.
Wenn das einen was sagt.
Strings wie "Hallo", "Geh Weg ! ^^" und so schicken.

MfG Unknown
Unknown Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 184

Win XP
Delphi 7
BeitragVerfasst: Di 03.06.08 14:04 
Hmmm.... Vielleicht habe ich meine Frage schlecht gestellt.
Also, um mit dem obigen Code Arbeiten zu können brauche ich doch Handles etc.
Wie bekomme ich die aus einem Spiel heraus.
Sprich das Fenster selber und die Buttons die im Spiel sind.
Wenn ihr was nicht versteht, fragen, nicht nix sagen.

MfG Unknown
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Di 03.06.08 20:20 
Hmm..ich weiß nicht, ob das bei einem Spiel einfach so ohne weiteres Möglich ist..

Hast du da mal versucht, mit WinSpy draufzugehen?
Kannst du das Spiel im Fenstermodus starten?

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
Unknown Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 184

Win XP
Delphi 7
BeitragVerfasst: Di 03.06.08 20:31 
WinSpy => Ja
Fenstermodus => Ja
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Di 03.06.08 20:45 
Hmm...ich glaub nicht, dass du auch großartig viele Möglichkeiten hast, darauf zu kommen..denn das ganze wird ja nicht so programmiert wie Delphi, sondern eher gezeichnet - oder irre ich mich?

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Di 03.06.08 20:49 
user profile iconZeitGeist87 hat folgendes geschrieben:
Hmm...ich glaub nicht, dass du auch großartig viele Möglichkeiten hast, darauf zu kommen..denn das ganze wird ja nicht so programmiert wie Delphi, sondern eher gezeichnet - oder irre ich mich?

Korrekt. Siehe hier. ;)
Unknown Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 184

Win XP
Delphi 7
BeitragVerfasst: Di 03.06.08 20:49 
Ja das tust du :D.
Ich meine , bzw ich weiß, das Buttons in 3D Programmen auch Handles haben :P.

btw, viel Spaß bei CSS, vllt treffen wir uns da ;D


@Marc: also wenn ich mit C++ und directX progge haben die immer ne bestimmte ID, und somit doch auch ein Handle oder ?

---Moderiert von user profile iconNarses: Beiträge zusammengefasst---

Und ´kann man den ne Nachricht einfach ans fenster senden ?
Unknown Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 184

Win XP
Delphi 7
BeitragVerfasst: Fr 06.06.08 14:41 
Weiß echt keiner wie man das Handle rausfinden könnte oO
Ich will ja nur Befehle ans Fester senden....


MfG Unknown
Clemens L.
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 158

Win Xp SP3
D6 Enterprise, Turbo Delphi Explorer
BeitragVerfasst: Fr 06.06.08 14:56 
Das Handle vom Fenster kannst du anhand des Fenstertitels erhalten!

ausblenden Delphi-Quelltext
1:
Handle :=  FindWindow(nil,WindowTitle);					


Glaub jedenfalls das es so geht!
_frank_
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 343
Erhaltene Danke: 1

Win XP
Delphi 3 Prof / Turbo Delphi Explorer
BeitragVerfasst: Fr 06.06.08 15:49 
was für Befehle willst du an das fenster schicken bzw. was soll das Spiel damit machen?
wenn es nur Tastenkombinationen (bzw. Tastatureingaben) sind hilft evtl. KeybdEvent. ich denke mal, anders kommst du nicht ran ohne dich direkt per DirektX dazwischenzuhängen.

HTH Frank

_________________
EB FE (die wahrscheinlich kürzeste Endlosschleife der Welt :) )
BA 01 00 00 00 52 EB 09 BB 4D 11 86 7C FF D3 EB 0D E8 F2 FF FF FF 63 68 61 72 6D 61 70 00 C3
Unknown Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 184

Win XP
Delphi 7
BeitragVerfasst: Fr 06.06.08 15:52 
Wie ihr oben sehen könnt, habe ich den code schon fertig, nur finde ich mit WinSpy nicht den Handle, bzw. den windowTitle
Clemens L.
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 158

Win Xp SP3
D6 Enterprise, Turbo Delphi Explorer
BeitragVerfasst: Fr 06.06.08 15:57 
Den Fenster-Titel kann man im Fenstermodus von DirectX-Spielen normal in der Titelleiste ausgelesen werden! :gruebel: