SysTabControl32 auslesen und ansteuern

  • Hallo zusammen!

    Ich hab folgendes Problem: Ich möchte das Fenster auf beigefügtem Bild (Links und Rechts) auslesen, was leider nicht funktioniert. Das AutoIt-Tool sagt mir, dass es sich um einen SysTab32 handelt. Damit ist allerdings wohl nur der äußerste Rahmen gemeint. In dem Tab befinden sich Bildergalerien, die man noch anklicken kann. Ich würde aber gerne jede Galerie bzw. jeden Eintrag in der Liste ansteuern können. Außerdem müsste ich natürlich wissen, wieviele Galerien in der Ansicht sind, da das immer wieder anders ist. Über die ID kann ich die Bereiche ansprechen, aber den Inhalt bekomm ich nicht vernünftig angesteuert.

    Kann ich irgendwie herauskriegen, was das für ein Unterfenster in dem Tab ist, damit ich weiß, wo ich nachgucken kann, um die richtigen Funktionen zu nutzen? Ich hab es mit ListView versucht, aber das funktioniert nicht zuverlässig, wenn ich dann die Items anspringen möchte. (ich muss einen Rechtsklick auf die Items ausführen und einen Punkt im Kontextmenü anklicken, da es über das Fenstermenü den Punkt, den ich brauche, nicht gibt -.-)

    VG

  • ich verstehe nicht ganz was du vor hast, möchtest du jede Galerie einmal anklicken ?

    die Galerien haben doch immer die selbe Größe oder?

    Nur eine Idee vielleicht in einem gewählten Bereich die Pixel checken lassen ob diese Weiß sind wie der Hintergrund, oder es eine Abweichung gibt, wenn Abweichung erkannt dann klick drauf/oder in in die Mitte des erkannten Pixels.

  • ich verstehe nicht ganz was du vor hast, möchtest du jede Galerie einmal anklicken ?

    die Galerien haben doch immer die selbe Größe oder?

    Nur eine Idee vielleicht in einem gewählten Bereich die Pixel checken lassen ob diese Weiß sind wie der Hintergrund, oder es eine Abweichung gibt, wenn Abweichung erkannt dann klick drauf/oder in in die Mitte des erkannten Pixels.

    Hallo,

    ich möchte auf jede Galerie einen Rechtsklick ausführen lassen. Allerdings könnten da auch so viele Galerien drin sein, dass ich einen Scrollbalken bekomme und die Galerien mehr, als nur diesen einen Bildschirm voll habe. Darum würde ich gerne ermitteln lassen, wieviele Galerien vorhanden sind, die ich dann über deren Index oder den Handle anspreche um dann einen Rechtsklick darauf ausführen lassen kann. Leider steht die Funktion, die ich brauche, nur über Rechtsklick zur Verfügung -.-

  • Du kannst die Galerien mit einer Kurztaste, meistens TAB oder Pfeiltasten, einzeln anwählen und dann per (Control-) Rechtsklick ins Kontextmenü. Auch dort gibt es meistens für die einzelnen Menüpunkte Kurzwahltasten. Generell sind 99.8% jeglicher Software mit der Tastatur (idR auch wesentlich schneller als mit der Maus) zu bedienen.

  • Code
    Send("{APPSKEY}");Kontext Menü öffnen
    Send("{PGDN}"); "{PGUP}" runter/hochscrollen


    Du kannst mal versuch mal satt rechtsklick auch das Kontext Menu zu öffnen sobald 1 Galerie ausgewählt ist.

    Ich hab mal die Software eingeben bei Google, das ist eine Software für medizinische Zecke.
    Also auch schwer nachzuvollziehen was genau auf deinem Bildschirm passiert.

    & was vielleicht absichtlich so programmiert ist, wie es ist evlt. wegen Datenschutz der Patienten Daten ?

    Wie genau du die Daten erfassen möchtest in den Galerien kann ich dir leider nicht weiteres sagen.

    Wenn keiner eine andere Idee hat.

    Vielleicht hilft dir das weiter oder bringt dich auf eine Idee.

    HandleImgSearch (Image Search with ImageSearchDLL embedded) - AutoIt Example Scripts - AutoIt Forums (autoitscript.com)

  • Das kommt ganz auf die Software und den Nutzer an

    Hehe, bediene mal Android ohne "Wischelfinger", weil das aufgrund technischer Gegebenheiten (Display defekt) nicht geht.

    Die Software, welche ICH für Android erstelle, ist komplett Tastatursteuerbar.

    Über Linux bzw. Unixoide BS brauchen wir nicht zu sprechen, da sind "Mausschubser" sowieso verpönt^^

    Windows ist komplett Tastatursteuerbar und ich kenne auch kein Framework / GUI-SDK welches das Fenstermanagement per Tastatur NICHT unterstützt. Selbst Browserbasierte Software benötigt idR keine Maus....

    Wenn man also eine Software per AutoIt "fernsteuern" will/muss und wie der TE keine Möglichkeit hat, über die "richtigen" GUI- bzw. Control-Funktionen zu arbeiten, für den ist die Möglichkeit über die Tastatur zu arbeiten GOLD wert!

    Selbst wenn die Fenster-Controls von AutoIt ansprechbar sind, ist das meist auch nur eine "Krücke"!!! Wenn der Entwickler seine GUI auch nur geringfügig ändert/aktualisiert, ändern sich die Instanzen oder ID´s der Controls mit! D.h. das so schön gebastelte AutoItscript "hängt" nach einem Update der zu steuernden Software. Das ist ganz großes Kino, wenn der unbedarfte Script-User dann plötzlich vor seinem Bildschirm sitzt und NICHTS mehr geht.....

    Ich hatte in den letzten Jahren schon mehrfach dieses Problem, da klingelt dann nach Jahren irgendwann das Telefon und du hast heulende Anwender dran! Die rufen nämlich IMMER bei dem an, der ihnen ihre Anwendung "so schön einfacher und VIIIEL schneller" gemacht hat, anstatt den Entwickler der gesteuerten Software.

    Meine Lösung in diesen Fällen war IMMER das Ausweichen auf die Tastatursteuerung!

    Ein bspw. CTRL-A + CTRL-T mit anschließendem TAB{3} mit anschließendem {ENTER} trifft den gewünschten Button/Input-Control/"Bild", auch wenn der/die plötzlich "anders" heißt....

    Send("{APPSKEY}");Kontext Menü öffnen Send("{PGDN}"); "{PGUP}" runter/hochscrollen

    Ein kurzer Anruf beim Hersteller der Software oder ein Blick ins Handbuch wirken da meist Wunder wenn die "offensichtlichen" Tastatursteuerungen nicht funktionieren!