Hallo zusammen,
eine Nacht über dem Problem mit den fehlenden Mousecursorwerten geschlafen und ich habe eine Erklärung dafür aber leider keine Lösung
Citrix bzw das ICA Protokoll soll gar keinen "echten" Cursor zurückgeben. Der Mouszeiger repräsentiert nur eine Koordinate auf dem Seamless Window dass den Mousezeiger in der eigentlichen Anwendung repräsentiert und die läuft ja auf dem Citrix Server. Die Anwendung malt nur ein paar Pixel auf den Bildschirm und genau so soll es ja auch sein. Ich kann deshalb auch nicht die verschiedenen Formklassen abrufen (z.b. ControlGetText("[CLASS:MeineAnwendung]", "", "Edit1")). Es wird nur eine Klasse angezeigt nämlich die CLASS:SeamlessWindow. Wenn in der Anwendung eine Messsagebox erscheint, so erscheint die nicht auf dem Client sondern nur auf dem Server, auf dem Client wird lediglich das Ergebnis der Bildschirmänderung in einem großen Fenster dargestellt.
Das bringt mich jetzt vor ganz andere Probleme:
Ich könnte vielleicht das AutoIt Programm direkt auf dem Server laufen, das ist aber nicht ganz das Ziel (es ist ein Test- und Messprogramm für eine andere Anwendung und soll die Umgebung so repräsentieren wie die Mitarbeiter sie vorfinden).
Ein anderer Ansatz wäre eine Überprüfung der Anzeige vielleicht mit PixelSearch, MouseGetPos, PixelGetColor oder so, PixelChecksum hört sich ganz interessant an, allerdings habe ich bisher noch nie mit den Grafikfunktionen von Autoit gearbeitet und _GDIPLUS habe ich mal die Beispiele angeschaut aber das Konzept dahinter nicht wirklich verstanden.
Habt ihr Erfahrungen und Beispiele damit oder eine ganz andere Idee für das Problem ?
Vielen Dank
Andreas