Startseite ¦  was ist neu ¦  programmier tips ¦  indy artikel ¦  intraweb artikel ¦  informationen ¦  links ¦  interviews ¦  sonstiges
kylix ¦  tutorials ¦  online shop ¦  fotos ¦  Add&Win Gewinnspiel


Willkommen Gast. Bitte einloggen oder registrieren.
22.05.2012, 13:28:59
Übersicht Hilfe Suche Einloggen Registrieren

+  SwissDelphiCenter Forum
|-+  German Forums
| |-+  WinAPI Forum
| | |-+  Edit auf einer anderen Applikation
« vorheriges nächstes »
Seiten: [1] Drucken
Autor Thema: Edit auf einer anderen Applikation  (Gelesen 1818 mal)
Hugo
Gast
« am: 15.04.2002, 17:47:07 »

Huhu,

Ich habe eine Form1 und ein völlig anderes Programm, mit mehreren Editboxen .. wie kann ich nun wenn ich auf einen Knopf auf meiner Form1 drügge, das das Edit auf der anderen Applikation (nicht dasselbe Programm wie meine Form1) ausgefüllt wird ?

Weiss jemand Rat ?

Gruss
Hugo
Gespeichert
Thomas Stutz
Global Moderator
Hero Member
*****
Offline Offline

Beiträge: 1784



WWW
« Antworten #1 am: 15.04.2002, 18:37:59 »

Hi,

Verwende ein Programm wie WinSight, um Infos über das fremde Programm zu erhalten  oder suche mit EnumChildWindows nach dem Edit-Feld

Vielleicht hilft auch ein früherer Beitrag, den ich mal geschrieben hab:

Ermittele zuerst das Handle des fremden Programms
(mit FindWindow) und dann kannst du per FindWindowEx nach
den Edit-Feldern suchen.

Mit folgender Funktion kannst Edit-Feldern eines fremden Programms Text schicken.
(oder jedem Control, welches die WM_SETTEXT Nachricht behandelt)

hApp : Handle des Fensters, auf welchem die Edit-Felder liegen.
EditClassName: Klassenname des Edit-Feldes.
(Bei Delphi-Anwendungen meistens TEdit)
AText: zu setzender Text
EditNr: Nr. des Edit-Feldes
("Reihenfolge wird durch FindWindowEx bestimmt")


[font size=2 face="Courier New"][font color="#000000"]procedure SetEditText(hApp: HWND; EditClassName, AText: string; EditNr: Integer);
var
  
i: Word;
  hEdit: HWND;
begin
  if not 
IsWindow(hApp) then Exit;
  for i := 0 to EditNr do
    
hEdit := FindWindowEx(hApp, hEdit, PChar(EditClassName), nil);
  if IsWindow(hEdit) then
    
SendMessage(hEdit, WM_SETTEXT, 0, Integer(PChar(AText)));
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  
[font color="#000080"]// Test: Text an Notepad schicken:
  
[/font]SetEditText(FindWindow('notepad', nil), 'Edit', 'Hallo!', 1);
  [font color="#000080"]// Test: Text an eigene Anwendung schicken:
  
[/font]SetEditText(Handle, 'TEdit', 'Hallo!', 2);
end;

[/font][/font]
Gespeichert

(¯`·._tom_.·´¯)

Tipp: Viele Antworten auf Fragen gibt's hier:
http://www.swissdelphicenter.ch/de/tipsuchen.php
Seiten: [1] Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS