Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Text in anderen Programm schreiben (https://www.delphipraxis.net/87212-text-anderen-programm-schreiben.html)

Christian18 25. Feb 2007 10:00


Text in anderen Programm schreiben
 
Hallo,

ich weiß nicht, ob ich mit meinem Anliegen die richtige Sparte hier getroffen habe. Aber ich frage einfachmal. Ich will ein kleines Tool schreiben, mit dem ich mir Texte hinterlegen kann und in dem Progamm reingeschrieben wird wo der Fokus drinn ist.

Beispiel:

ich will hier einen Beitrag schreiben. Also klicke ich mit der Mouse in diese Textbox. Wenn ich in dem Tool den Button MFG drücke, dann soll das hier in das Textfeld der DP drinn stehen. Wie kann ich sowas machen. Das soll aber nicht nur hier in der DelphiPraxis funktionieren sondern auch mit anderen Programmen.

PS: Ist sowas möglich, wenn ja wie?

MFG Christian18

ghost007 25. Feb 2007 10:10

Re: Text in anderen Programm schreiben
 
Liste der Anhänge anzeigen (Anzahl: 3)
hi,
ich hab dazu mal ne unit gefunden.
Siehe anhang.

MfG - Ghost007

[EDIT]
hab noch ne 2te unit gefunden
->Anhang

Für die 2te unit sollte folgeder code für deine zwecke ausreichen:
Delphi-Quellcode:
uses sndkey32

var
 text:string;
.
.
.

procedure TForm1.Button1Click(Sender: TObject);
begin
  SendKeys(text, True);
end;
in der variable text legst du deinen text ab, den du einfügen willst

eine frage zum schluss, wie willst du den fokus in dem textfeld lassen, und gleichzeitig einen button in deinem tool drücken? beokmmt dann nicht dein tool den fokus? dann müsstest du auf den button klicken und dann entweder mit delay die keys senden oder generell den fokus checken.
[/EDIT]

DGL-luke 25. Feb 2007 10:24

Re: Text in anderen Programm schreiben
 
Hallo,

dazu brauchst du zuerst das Handle eines Edit-Windows (MSDN-Library durchsuchenFindWIndow, MSDN-Library durchsuchenWindowFromPoint). Über MSDN-Library durchsuchengetWindowText(Len) kannst du den Text auslesen, mit der MSDN-Library durchsuchenWM_SETTEXT-Message wieder setzen.

Das ist eigentlich alles, was du brauchst. Selbst hineinzutippen, wie es ghost007 vorschlägt, halte ich für unnötig.

Rastaman 25. Feb 2007 10:26

Re: Text in anderen Programm schreiben
 
Die Editfenster im Browser haben aber kein eigenes Handle :shock:

ghost007 25. Feb 2007 10:27

Re: Text in anderen Programm schreiben
 
Zitat:

Zitat von DGL-luke
Das ist eigentlich alles, was du brauchst. Selbst hineinzutippen, wie es ghost007 vorschlägt, halte ich für unnötig.

hi,
wo habe ich gesagt das er was selber eintippen soll? :gruebel:

[EDIT]
mit der 2ten unit und dem dazugehörenden code von mir, werden einfach die zeichen an das fester/edit mit dem fokus gesendet.
dafür brauchst du keine handle.
[/EDIT]

DGL-luke 25. Feb 2007 10:29

Re: Text in anderen Programm schreiben
 
:shock:

das halt ich jetzt für unwahrscheinlich.

Aber tatsächlich, du hast recht... wie das denn?! Sind das keine EDIT-Windows?

@ghost007: sendkeys macht ja nix anderes ;-)

Christian18 25. Feb 2007 10:36

Re: Text in anderen Programm schreiben
 
das weiß ich auch noch nicht, wie kann man sag problem lösen

ghost007 25. Feb 2007 10:36

Re: Text in anderen Programm schreiben
 
Zitat:

Zitat von DGL-luke
@ghost007: sendkeys macht ja nix anderes ;-)

ja ok, damit hast du recht, aber wie willst du sonst in ein feld des browsers etwas reinschreiben?

Christian18 25. Feb 2007 10:38

Re: Text in anderen Programm schreiben
 
Hi DGL-luke,

hast du ein Bsp?

ghost007 25. Feb 2007 11:03

Re: Text in anderen Programm schreiben
 
wenn du eine möglichkeit suchst um an das handle zu kommen, schau dir ma das nette programm hier an, damit kannst du dir auch einen beispiel code generieren lassen.

MfG - Ghost007


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