Syslistview auslesen

  • Hallo,

    habe schon einige wenige Autoit Programme programiert, aber nun weiß ich nicht mehr so recht weiter.
    Ich möchte eine Sylistview auslesen und zwar nicht ein von Autoit erstelltes sondern von einem fremden Programm (Truecrypt). Ich brauche die Liste der gemounteten Container / Devices.

    Gehe ich recht in der Annahme das es mit der GUILib nicht funktioniert? Wenn ich es richtig verstanden habe ist diese nur für selbsterstellte Controls zuständig oder?

    Mit ControlListView & ControlGetText komme ich leider nicht weiter. Folgendes habe ich schon probiert:

    MsgBox(0,"", ControlGetText ("TrueCrypt","","[CLASS:SysListView32; INSTANCE:1]") )
    MsgBox(0, "", ControlListView("TrueCrypt","", "[CLASS:SysListView32; INSTANCE:1]", "GetText", 0,0) )

    wobei ich die Parameter natürlich auch schon variert habe.

    Wäre nett wenn mich jemand auf den richtigen Weg schubsen würde.

    Christian

  • Ok, habe ich ja schon (halbherzig) gemacht, aber ich bin davon ausgegangen, das diese UDFs nur für die dynamisch erzeugte GUI der UDF taugt.

    Bekommt man irgendwo ne vernünftige Doku der UDfs (speziell der GUI UDFs) her?
    habe nur zu einzelnen Befehlen was gefunden, nicht eine Referenz zu allen dort vorhandenen Funktionen.


    Thx
    Christian

    • Offizieller Beitrag

    Da du die Control Class auslesen konntest und auch der Name der Class auf ein Standard-Ctrl schließen läßt, ist die Anwendung der Control-Befehle schon korrekt.
    Ich vermute, das Fenster wird nicht erkannt. Versuche doch mal mit Opt("WinTitleMatchMode", 2) auch die Erkennung von Teilen des Titels zuzulassen.

  • Ein Skript mit dieser zeile gibt bei mir den ersten Laufwerksbuchstaben aus, der in der Listview steht (bei mir I: ) Das Fenster muss dazu aber offen sein!

    [autoit]

    MsgBox(0, "", ControlListView("TrueCrypt","", "[CLASS:SysListView32; INSTANCE:1]", "GetText", 0,0) )

    [/autoit]
  • Hmm,

    danke für die Antworten, leider bekomme ich immer noch eine leere MessageBox..
    Habe auch mit Opt("WinTitleMatchMode", 2) experimentiert, aber irgendwie ist da der Wurm drin.

    Fenster hole ich mit

    $title="TrueCrypt"
    WinActivate ($title)
    WinWaitActive ($title)

    in den Vordergrund und die Listview ist nat[rlich auch zu sehen....

    Jetzt bin ich ratlos, das es bei dir funktioniert und bei mir nicht...

    Christian

  • Ich verwende TrueCrypt 6.3a im Portable-Modus. Hab nochmal getestet, es geht auch mit minimiertem Fenster.

    [autoit]

    MsgBox(0, "", ControlListView("TrueCrypt","", "[CLASS:SysListView32; INSTANCE:1]", "GetText", 0,0) )

    [/autoit]