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 Externes Eingabefeld füllen??? (https://www.delphipraxis.net/44218-externes-eingabefeld-fuellen.html)

TriphunEM 15. Apr 2005 14:48


Externes Eingabefeld füllen???
 
Hallo!
Ist es möglich eine AKTIVE Eingabezeile eines anderen Programmes zu füllen? Das heißt ich klicke auf eine Eingabezeile einer anderen Anwendung und kann z.B. durch drücken eine Hotkeys einen bestimmten Text einfügen!
Das mit dem Hotkey ist ja kein Thema, aber wie bekomm ich das hin das mein Prog weißt wo der Text eingefügt werden soll???

Danke!

Waldteufel 15. Apr 2005 14:50

Re: Externes Eingabefeld füllen???
 
Hi.

Unter Umständen könnte man Tastenanschläge simulieren (frag jetzt bitte nicht, wie... :wink: ).

malo 15. Apr 2005 15:01

Re: Externes Eingabefeld füllen???
 
Eventuell könnte das hier interessant für dich sein ;)

Christian Seehase 15. Apr 2005 15:38

Re: Externes Eingabefeld füllen???
 
Moin TriphunEM,

das hatten wir schon öfter.
Such' hier mal nach Hier im Forum suchenWM_SETTEXT

Lesco 15. Apr 2005 15:45

Re: Externes Eingabefeld füllen???
 
Zitat:

Zitat von Christian Seehase
Moin TriphunEM,

das hatten wir schon öfter.
Such' hier mal nach Hier im Forum suchenWM_SETTEXT

wenn immer das aktive fenster das erhalten soll wäre das aufwendiger als tasten virtuell zu drücken

SirThornberry 15. Apr 2005 16:19

Re: Externes Eingabefeld füllen???
 
So kompliziert ist es doch gar nicht. Es geht einmal mit der Windowsfunktion "SetWindowText"
Delphi-Quellcode:
SetWindowText(handle, 'New Title');
oder eben mit wm_settext
Delphi-Quellcode:
var NewCaption: String;
begin
  NewCaption := 'abc';
  SendMessage(DestWindowHandle, WM_SETTEXT, 0, Integer(NewCaption));

Christian Seehase 15. Apr 2005 16:55

Re: Externes Eingabefeld füllen???
 
Moin Sir Thornberry,

Zitat:

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

;-)

@Lesco:

Zitat:

Zitat von Lesco
wenn immer das aktive fenster das erhalten soll wäre das aufwendiger als tasten virtuell zu drücken

Dann zeig' mir bitte mal eine Routine, die einen beliebigen Text (Gross-/Kleinschreibung, Sonderzeichen) mit Hilfe von simulierten Tastendrücken an ein Fenster schickt. Das ganze dann auch ohne dass man Gefahr läuft eventuell Funktionen des jeweiligen Programmes auszuführen, die man gar nicht aufrufen will.

Ich bitte das nicht misszuverstehen. Das soll nicht heissen, dass ich der Ansicht bin, dass es nicht geht, ich bezweifele nur, dass es weniger Aufwand macht.

TriphunEM 15. Apr 2005 18:52

Re: Externes Eingabefeld füllen???
 
Gruß. Ich denke ihr wisst ne so richtig was ich mein. jetzt erklär ich mal was ich machen will!

ich will eine kleines tool programmieren, mit dem ich seriennummern in der Zwischenablage zerflücken kann und einzeln in die entsprechende eingabefelder einer Seriennummernabfrage einfügen kann.

bsp. ich habe die seriennummer aaaa-bbbb-cccc-dddd-eeee, wir nehmen mal an es ist eine seriennummer von office 2003.

der sackgang ist immer der, das ich aaaa kopieren muss und dann per hand in das erste eingabefeld der serialabfrage einfügen muss. bbbb dann in das zweite und so weiter...und das geht mir auf den sack.

ich will also die komplette seriennummer markieren und in die Zwischenablage kopieren. Mein Programm was im hintergrund läuft zerflückt die seriennummer an hand von -.

Klick ich jetzt auf das erste eingabefeld der abfrage, will ich z.b. mit STRG+ALT+V (eigener Hotkey) mein programm mitteilen dass ich die seriennummer einfügen will. also nimmt er aaaa, und fügt sie in das erste eingabefeld ein (wo ich mit meiner maus drauf geklickt habe). dann wird aaaa- entfernt. nun klicke ich auf das zweiten eingabefeld und drücke wieder STRG+ALT+V und er schreibt bbbb in das zweiten eingabefeld. und so weiter!

Das Problem ist hier bei, wenn ich in das erste Eingabefeld KLICKE, und meinen hotkey drücke soll dort auch ein entsprechender Text eingefügt werden.

Also, jemand ne Idee wie ich das hinbekomme???

[edit=Christian Seehase]Doppelpost gelöscht. Mfg, Christian Seehase[/edit]

Christian Seehase 15. Apr 2005 23:11

Re: Externes Eingabefeld füllen???
 
Moin TriphunEM,

kann es sein, dass Du Dir nichts von dem bisher geposteten mal angesehen hast?

Falls doch: Wo hast Du jetzt noch Probleme?

TriphunEM 16. Apr 2005 09:00

Re: Externes Eingabefeld füllen???
 
hi. habs versucht mit :

NewCaption := 'abc';
SendMessage(FocusHWnd, WM_Settext,0,Integer(Pchar(NewCaption)));

aber da passiert nix. also mein programm führt mit einen globalen hotkey die funktion aus, aber eingefügt wird garnix...


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