Entwickler-Ecke

Windows API - Buttons anderer Anwendungen umbeschriften


whoknows - Do 30.08.07 14:23
Titel: Buttons anderer Anwendungen umbeschriften
Hallo,

vielleicht kann mir hier jemand helfen. Ich habe ein kommerzieles Programm, dass in delphi Programmiert wurde. Allerdings entspricht die Buttonbeschriftung nicht meinen Anforderungen. Gibt es irgendeine Möglichkeit mittels Handle oder anderem mit einem zweiten Programm auf die Buttons zuzugreifen und die Beschriftungen anzupassen? Hat jemand eine Idee wie man dies realisieren kann? Die Sourcen des Programms kann ich leider nicht einsehen, da es ja kommerziel ist.

Mit freundlichen Grüßen


GTA-Place - Do 30.08.07 15:05

Suche in der Entwickler-Ecke FINDWINDOW und Suche in der Entwickler-Ecke WM_SETTEXT müsste das richtige sein-


whoknows - Do 30.08.07 22:42

Ich hab da jetzt ein bisschen rumprobiert. Ich kann den Button zwar klicken, aber ich schaffe es noch nicht die Beschriftung zu ändern. Was mache ich noch falsch?

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
 
procedure TForm1.Button2Click(Sender: TObject);
var
  wnd : HWND;
  i   : Integer;
  s   : string;
begin
  wnd := FindWindow('WindowsForms10.Window.8.app3',nil);
  if wnd <> 0 then begin
    wnd := FindWindowEx(wnd,0,'WindowsForms10.BUTTON.app3',nil);
    s := 'Was anderes!';
    For i := 1 to Length(s) do
      SendMessage(wnd, WM_SETTEXT, Word(s[i]), 0);
  end;
end;


Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt


GTA-Place - Do 30.08.07 23:04


Delphi-Quelltext
1:
SendMessage(Wnd, WM_SETTEXT, 0, LPARAM(PChar(S)));                    

Ohne for-Schleife und der letzte Parameter verwenden.


whoknows - Sa 01.09.07 22:53

Danke für die Hilfe. Damit funktioniert es jetzt bei einigen Buttons, aber leider noch nicht bei allen.