Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Wert in eine fremde Anwendung zuweisen ? (https://www.delphipraxis.net/114689-wert-eine-fremde-anwendung-zuweisen.html)

Delphiturbo 29. Mai 2008 14:42


Wert in eine fremde Anwendung zuweisen ?
 
Hallo,

mit winspy kann ich ein Code für das Feld, wo ich winen Wert zuweisen möchte :

Delphi-Quellcode:
var
  wnd: HWND;
begin
  wnd := FindWindow('#32770',' Text ');
  wnd := FindWindowEx(wnd, 0, 'RichEdit20A', nil);
  if wnd <> 0 then
  begin
   //  ShowMessage('Window found. Handle: ' + IntToStr(wnd));
     writeln('Window found. Handle: ' + IntToStr(wnd));
     FlashWindow(wnd);
  end;
end.
wie kann ich den Wer von meinem Edit1.Text dort zuweisen

Luckie 29. Mai 2008 14:46

Re: Wert in eine fremde Anwendung zuweisen ?
 
Zitat:

Zitat von Delphiturbo
mit winspy kann ich ein Code für das Feld, wo ich winen Wert zuweisen möchte :

Ich glaube, da fehlt zumindest ein Verb in dem Satz.

Text in Texteigabefelder setzen kannst du mit MSDN-Library durchsuchenWM_SETTEXT.

lbccaleb 29. Mai 2008 14:47

Re: Wert in eine fremde Anwendung zuweisen ?
 
probiers mal mit dem hier:
Delphi-Quellcode:
SetWindowText(wnd, PChar(Edit1.text));

Luckie 29. Mai 2008 14:51

Re: Wert in eine fremde Anwendung zuweisen ?
 
Zitat:

Zitat von lbccaleb
probiers mal mit dem hier:
Delphi-Quellcode:
SetWindowText(wnd, PChar(Edit1.text));

nein:
Zitat:

Zitat von MSDN
To set the text of a control in another process, send the WM_SETTEXT message directly instead of calling SetWindowText.


Delphiturbo 29. Mai 2008 14:53

Re: Wert in eine fremde Anwendung zuweisen ?
 
Zitat:

Zitat von lbccaleb
probiers mal mit dem hier:
Delphi-Quellcode:
SetWindowText(wnd, PChar(Edit1.text));

passiert nichts !

SirThornberry 29. Mai 2008 15:11

Re: Wert in eine fremde Anwendung zuweisen ?
 
Wie Luckie bereits erwähnte - wm_settext
Und um zu prüfen ob dein handle überhaupt das richtige ist einfach mal schauen ob du das Fenster ber ShowWindow zum Beispiel ausblenden kannst.

Delphiturbo 29. Mai 2008 15:16

Re: Wert in eine fremde Anwendung zuweisen ?
 
ja aber es passiert immer nocht nichts !

Delphi-Quellcode:
var
  wnd: HWND;
begin
  wnd := FindWindow('#32770',' Text ');
  wnd := FindWindowEx(wnd, 0, 'RichEdit20A', nil);
  if wnd <> 0 then
  begin
   //  ShowMessage('Window found. Handle: ' + IntToStr(wnd));
     //writeln('Window found. Handle: ' + IntToStr(wnd));
     
SendMessage(wnd, WM_SetText, 0, LongInt(PChar(Edit1.Text)));
  end;
end.

SirThornberry 29. Mai 2008 15:17

Re: Wert in eine fremde Anwendung zuweisen ?
 
Zitat:

Zitat von SirThornberry
Und um zu prüfen ob dein handle überhaupt das richtige ist einfach mal schauen ob du das Fenster ber ShowWindow zum Beispiel ausblenden kannst.

:!:

Delphiturbo 29. Mai 2008 16:04

Re: Wert in eine fremde Anwendung zuweisen ?
 
Mit dem Code kann ich ein fremdes Button Klicken
d.h. man kann den Code bearbeiten um einen Wert in eine fremde Anwendung zu zuweisen

Der Code funktioniert aber bleibt das programm hängern !?

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  wnd: THandle;
  btn: THandle;

begin
  wnd := FindWindow(nil, 'FormFremd'); // sucht das Fenster
  btn := FindWindowEx(wnd, 0, 'TButton', 'Button1'); // sucht den Button
  If btn <> 0 then SendMessage(btn, BM_CLICK, 0, 0); // führt den Klick auf dem Button aus
  //Close;
end;

Sherlock 29. Mai 2008 16:09

Re: Wert in eine fremde Anwendung zuweisen ?
 
Zitat:

Zitat von Delphiturbo
Der Code funktioniert aber bleibt das programm hängern !?

Keine Ahnung, sag Du es uns.

Sherlock


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

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