Entwickler-Ecke
Windows API - Fenster eindeutig identifizieren
MisterCP - Mi 30.05.12 13:21
Titel: Fenster eindeutig identifizieren
Hallo,
ich muß ein fremdes Programm (c#) auf einem Touch-PC laufen lassen und möchte beim öffnen des ort integrierten Logins ein OnScreenKeyboard einblenden.
Wenn das Loginfenster geöffnet wird, erkenne ich das in meinem Delphi-Programm über den Klassennamen nur bedingt, weil sich auch andere Fenster des C-Programms mit diesem Klassennamen melden.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| function EnumWindowsProc(wHandle: HWND): Bool; stdcall; export; var Title, ClassName: array[0..255] of char; strClassName : String; begin Result := True; GetWindowText(wHandle, Title, 255); GetClassName(wHandle, ClassName, 255); StrClassName := ClassName; if ((strClassName = 'AfxFrameOrView70u') and (IsWindowVisible(wHandle))) then begin AISLoginFound := True end; end; |
Den Fenstertitel kann ich ebenfalls nicht zur Identifizierung nutzen, weil der sich gelegentlich ändert, spätestens, wenn die Oberflächensprache umgeschaltet wird.
Gibt es auch irgendeinen Befehl, wie ich etwas anderes eindeutiges, z.B. den Objektnamen zur Entwurfszeit oder ähnl. herausbekommen könnte?
Vielen Dank für eure Hilfe
Moderiert von
Martok: Code- durch Delphi-Tags ersetzt
bummi - Mi 30.05.12 23:43
Vielleicht wir es über die enthaltenen ChildControls eindeutig identifizierbar ...
MisterCP - Do 31.05.12 07:47
hatte ich auch gehofft, aber leider Fehlanzeige.
Es sind lediglich ein Eingabefeld für das Passwort sowie drei Tasten (Anmelden, Abmelden, Abbrechen) enthalten. Letztere ändern, ebenso wie das Fenster selbst, beim Wechsel der Oberflächensprache, ihre Caption, so daß ich auch hier einen konkreten, nicht änderbaren Namen bräuchte.
Falls die Idee auftauchen sollte, doch einfach auf mehrere (fremdsprachige) Captions abzufragen: Dies würde daran scheitern, daß die fremdsprachigen Texte vom Bediener beliebig manipuliert/eingegeben werden können. Die Recoucendatei liegt dann zwar immer mit im Programmverzeichnis, aber deren Aufbau kenne ich nicht, bzw. ich kann den gerade verwendeten Text für die Captions dort nicht auslesen.
bummi - Do 31.05.12 08:12
Die Klassenkombinationen sind auch nicht eindeutig?
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!