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