![]() |
Auf Eigenschaften eines Objektes zugreifen mit ObjektHandle
Hallo, ich möchte gerne auf die Eigenschaften eines fremden Objektes in einer fremden anwendung zugreifen.
Es sind bekannt: - Handle des Objektes: - Classname des Ojektes: in meinem Fall ein Edit und ich will den Text auslesen wie mache ich das!? |
Re: Auf Eigenschaften eines Objektes zugreifen mit ObjektHan
Auf was für Eigenschaften willst du zugreifen und um was für ein Objekt handelt es sich?
|
Re: Auf Eigenschaften eines Objektes zugreifen mit ObjektHan
Das Objekt ist ein Edit, und ich möchte gern den Text der darin steht auslesen.
|
Re: Auf Eigenschaften eines Objektes zugreifen mit ObjektHan
Hast Du es mal mit WM_GETTEXTLENGTH und WM_GETTEXT versucht?
|
Re: Auf Eigenschaften eines Objektes zugreifen mit ObjektHan
Zitat:
|
Re: Auf Eigenschaften eines Objektes zugreifen mit ObjektHan
Zitat:
Zitat:
|
Re: Auf Eigenschaften eines Objektes zugreifen mit ObjektHan
Hm, das mit dem Edit muss ich überlesen haben. :gruebel: sorry.
|
Re: Auf Eigenschaften eines Objektes zugreifen mit ObjektHan
Entweder suche ich immer nach falschen Stichworten, aber im Netz konnte ich bisher so gut weie keine Informationen über das Auslesen von Eigenschaften externer Anwendungen finden. Gibt es da irgendwo ein Art Walkthrough bzw. Anleitung?
Bei mir ist es ähnlich. Ich habe das Handle einer von mit gestarteten externen Anwendung. Von dieser Anwendung müßte ich jetzt die Fenstereigenschaften auselsen können, ist es minimiert, maximiert, deaktiviert, unsichtbar etc... Wie stellt man so etwas an? |
Re: Auf Eigenschaften eines Objektes zugreifen mit ObjektHan
|
Re: Auf Eigenschaften eines Objektes zugreifen mit ObjektHan
Hallo,
danke, das werde ich mir gleich mal anschauen. |
Re: Auf Eigenschaften eines Objektes zugreifen mit ObjektHan
Wahrscheinlich liegt es am Montag Morgen, daß ich noch nicht wieder klar denken kann.
Ich habe jetzt die Funktion GetWindowLong entdeckt, diese liefert mir laut Erklärung Informationen über ein Fenster, so auch den Style. Allerdings ist mir nicht so ganz klar, wie ich aus dem Int-Rückgabewert was herauslesen soll. Schaue ich bei MSDN nach Window Styles, wird doch auch nichts weiter erklärt, nur alles Mögliche gelistet. Wie kann ich aus diesem Int-Wert Rückschlüsse auf die Fenstereigenschaften ziehen? Gibt es irgendwo eine Tabelle wo die ganzen Werte drinn stehen? Google nach GWL_STYLE brachte mich nicht wirklich weiter. Man findet die GetWindowLog-Funktion immer nur in Verbindung mit SetWindowLog, wo der Wert nur über Get Ausgelesen wird, weil die Set den Wert wieder braucht. kennt sich damit denn so gar niemand aus? Zusatz: Wie kann es sein, das IsWindowVisible(hwnd) False zurückgibt, obwohl ich das Fenster direkt vor mir auf dem Bildschirm sehe? Das Handle scheint zu stimmen, mit SetForegroundWindow(hwnd) setzt es mir genau dieses Fenster wieder in den Vordergrund. Zusatz 2: jetzt verstehe ich die Welt nicht mehr, selbst (GetWindowLong(hwnd, GWL_STYLE) and WS_VISIBLE <> 0) ergibt False, obwohl ich das Fenster sehe. Das passiert, wenn das Fenster der externen Anwendung erstmals Visible False hat. Selbst wenn es dann wieder sichtbar ist, weil die 2. externe Anwendung, die eben die Anwendung gestartet hat wieder beendet ist, gibt mir WS_VISIBLE False zurück. Aber ich sehe das Fenster doch. |
Re: Auf Eigenschaften eines Objektes zugreifen mit ObjektHan
Die Funktionen die du brauchst sind IsWindowVisible und GetWindowPlacement.
GetWindowPlacement hat in der WINDOWPLACEMENT-Struktur den Parameter showCmd. Damit kannst du ermitteln, ob das Fenster normal = 1, minimiert = 2 oder maximiert = 3 ist. Mit der von dir schon genannten Funktion IsWindowVisible kannst du ermitteln, ob das Fenster sichtbar = 1 oder unsichtbar = 0 ist. Zitat:
Probier den Code vielleicht erstmal an einem kontrollierbarem Programm aus. Erstell dir zum Beispiel schnell mal selbst ein einfaches Testprogramm mit einem Fester, einem Button, einem Edit-Control, ... Guido. Edit: Hätte ich beinahe vergessen: Wenn du zum Beispiel das Handle des Taskbar-Fensterchens oder eines unsichtbaren Hilfsfensters (des fremden Programms) erwischt hast, kommt mit SetForegroundWindow(hwnd) natürlich auch das eigentliche Fenster in den Vordergrund. |
Re: Auf Eigenschaften eines Objektes zugreifen mit ObjektHan
Ja, so ist es dann auch gewesen. Diese Windows-Fenster-Handle sind mit mehr als nur mit Vorsicht zu geniesen.
Danke für die Hinweise! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz