Entwickler-Ecke
Windows API - Editfeld aus anderem Programm auslesen?
alexschultze - Mo 18.11.02 15:07
Titel: Editfeld aus anderem Programm auslesen?
hiho.
ich hab ein kleines Programm (nicht meines), das nur aus einem Button und einem Editfeld besteht. Nun möchte ich, dass mein Programm den Knopf des Programms drückt und automatisch danach den Inhalt des Editfelds in mein Programm importiert. (und das dann auch mehrfach hintereinander).
Ich hab schon mal was von Handles gehört, denke das man es damit machen muss, habe aber keinen direkten Plan davon.
Handles oder anders? Ah-läggs
alexschultze - Mo 18.11.02 15:16
ach so, damit mir keiner meckert:
(oder Lucky wieder einen Link posten muss *g*)
ich hab mal im Forum gesucht und nur
http://www.auq.de/viewtopic.php?t=3687
gefunden. Da hat Luckie im groben mal beschrieben, wie es denn geht. Aber ich kann damit nicht sehr viel anfangen.. :(
Delete - Mo 18.11.02 15:55
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| var hWnd, hEdit: cardinal; buffer: array[0..1204] of Char; begin hWnd := FindWindow(nil, 'Fenstertext'); hEdit := GetDlgItem(hWnd, 123); // 123 ist die ID des Edit zu finden mit WinSight SendMessage(hEdit, WM_GETTEXT, sizeof(buffer), Integer(@buffer)); ShowMessage(String(buffer)); end; |
alexschultze - Mi 20.11.02 12:02
dammichnochmal :(
wo find ich dieses Winsight?
Delete - Mi 20.11.02 13:52
Bei D6 ist es nicht dabei stelle ich gerade fest. Bei den Enterprise-Versionen habe ich es aber schon gesehen. Alternativ kannst du dir auch von mir das Programm "WindowInfo" runterladen. Damit kannst du sie auch rausfinden, meine ich, ... denke ich, ... glaube ich.
alexschultze - Mi 20.11.02 20:15
lol. sag doch gleich das das bei Delphi bei ist ;) (hab ENT) *g*
und ich such das wie ein wilder
alexschultze - Mi 20.11.02 20:34
*grml*
also, wie folgt:
Was ist hier die ID? :(
alexschultze - Do 21.11.02 18:17
hiho?? ich vermute mal hEdit := GetDlgItem(hWnd, 77D10000); , aber der nimmt das nicht an, weil das Hexadezimal ist.
Delete - Do 21.11.02 18:19
$77D10000
Aber das sieht mir nicht nach der ID des Edits aus.
Allerdings hab eich noch nie mit WinSight gearbeitet. was liefert dir denn mein Tool für eien ID?
alexschultze - Do 21.11.02 20:12
'dein' Tool?
alexschultze - Do 21.11.02 20:20
ah! WinInfo!! Cooles Programm, sehr praktisch.
Problem: die ID ist im Format '0x000003E8', da nimmt er x, auch mit $ für Hexadez nicht an. Was tun?
alexschultze - Do 21.11.02 20:21
ach so, Antrag auf Verbesserung des Programms: keine Labels benutzen, sondern Edits, damit man das einfach via STR+C kopieren kann ;)
Delete - Do 21.11.02 20:24
0x000003E8 ist die C Schreibweise für $3E8 in Delphi. Das sieht übrigens schon wesentlich eher nach der ID aus. :wink:
Mein Tool? WindowInfo auf meiner Delphi-Downloadseite.
alexschultze - Do 21.11.02 20:32
ich hab es ja mit deinem Tool rausgefunden.
Desshalb der ANtrag auf Verbesserung ;)
alexschultze - Do 21.11.02 20:34
oioioioiooioi coooooooooooollll
es geht!!!!
danke
Delete - Do 21.11.02 20:41
Ach so darauf hast du dich bezogen. Na ja, die paar Zahlen kann man auch schnell abtippen.
So geht jetzt alles wie gewünscht?
alexschultze - Fr 22.11.02 23:40
;)))))
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!