Kontextmenü auslesen

  • Hallo zusammen!

    Ist es möglich mit AutoIt das Kontextmenü eines fremden Programms auszulesen? Da dieses Programm einen kleinen Bug hat, den man nicht beheben kann, ist es nicht sicher, ob immer alle Einträge vorhanden sind, oder nicht. Ich würde gerne den Handle in einem Array abspeichern für alle Einträge, bei denen das Kontextmenü nicht vollständig war um später darauf zurück zu kehren.

    Zur Erläuterung des Bugs: Ich lade einen Datensatz und es erscheint der Titel in einem TreeView-Fenster. Auf dem Titel in dem FEnster kann ich das Kontextmenü öffnen. Bei manchen Datensätzen ist das Kontextmenü unvollständig. Wenn ich allerdings einen anderen Datensatz lade, bei dem das Kontextmenü vollständig ist und kehre dann zu dem ersten Datensatz zurück, dann ist dort das Kontextmenü auch vollständig. Ich habe leider keinen Plan, warum das so ist und wie man das ändern kann. Ich muss halt damit leben -.- (ist ein Fremdprogramm)

  • Schau mal, ob dir das hier weiterhilft:

    Das Ermitteln des Handles für $hWnd, $hMain, $hDatei und die Keys bei ControlSend musst du natürlich entsprechend anpassen!

    2 Mal editiert, zuletzt von Bitnugger (11. November 2021 um 18:46)

  • Schau mal, ob dir das hier weiterhilft:

    Das Ermitteln des Handles für $hWnd, $hMain, $hDatei und die Keys bei ControlSend musst du natürlich entsprechend anpassen!

    OK, danke, aber das ist leider nicht das, was ich wollte.

    Ich möchte das Kontextmenü auslesen, also das, was erscheint, wenn man die rechte Maustaste bzw. die Kontextmenütaste drückt, auslesen.

    Im Fall von Editor wäre das bei einem leeren Dokument:

    01: Rückgängig (inaktiv)

    02: ------------------------------

    03: Ausschneiden (inaktiv)

    04: Kopieren (inaktiv)

    05: Einfügen (aktiv wenn etwas in der Zwischenablage ist)

    06: Löschen (inaktiv)

    07: ------------------------------

    08: Alle Auswählen (inaktiv)

    09: ------------------------------

    10: Rechts-nach-Links-Lesefolge

    11: ...

    Und falls es noch Unterpunkte gibt, dann die natürlich auch.

    Kann man das?

  • Ah super! Genau sowas hab ich gesucht! DANKE!!