Autor |
Beitrag |
alexschultze
      
Beiträge: 317
|
Verfasst: Mo 18.11.02 15:07
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 
      
Beiträge: 317
|
Verfasst: 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
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.. 
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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 
      
Beiträge: 317
|
Verfasst: Mi 20.11.02 12:02
dammichnochmal
wo find ich dieses Winsight?
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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 
      
Beiträge: 317
|
Verfasst: 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 
      
Beiträge: 317
|
Verfasst: Mi 20.11.02 20:34
*grml*
also, wie folgt:
Was ist hier die ID? 
|
|
alexschultze 
      
Beiträge: 317
|
Verfasst: Do 21.11.02 18:17
hiho?? ich vermute mal hEdit := GetDlgItem(hWnd, 77D10000); , aber der nimmt das nicht an, weil das Hexadezimal ist.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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 
      
Beiträge: 317
|
Verfasst: Do 21.11.02 20:12
|
|
alexschultze 
      
Beiträge: 317
|
Verfasst: 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 
      
Beiträge: 317
|
Verfasst: 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 
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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.
Mein Tool? WindowInfo auf meiner Delphi-Downloadseite.
|
|
alexschultze 
      
Beiträge: 317
|
Verfasst: Do 21.11.02 20:32
ich hab es ja mit deinem Tool rausgefunden.
Desshalb der ANtrag auf Verbesserung 
|
|
alexschultze 
      
Beiträge: 317
|
Verfasst: Do 21.11.02 20:34
oioioioiooioi coooooooooooollll
es geht!!!!
danke
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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 
      
Beiträge: 317
|
Verfasst: Fr 22.11.02 23:40
 ))))
|
|