Vorhandene Programm-GUI umbauen/ergänzen - mit AutoIT sinnvoll machbar?

  • Hallo allerseits,

    ich fange gerade an mich in die GUI-Erstellung einzuarbeiten und bin jetzt bei Koda gelandet. Aber so langsam werde ich unsicher, ob das was ich vorhabe überhaupt sinnvoll machbar ist mit AutoIT.

    Hier mein Wunsch: Ich möchte bei dem kleinen Programm BestPractice (kann MP3s z.B. verlangsamen ohne die Tonhöhe zu verändern; prima zum Nachspielen/Üben von Musikstücken) einige Bedienelemente anders angeordnet haben. So ist z.B. der Fortschritts-Slider zu klein und weit weg vom Pause-Button, das ist etwas lästig beim Üben. Ist es machbar, diesen Slider mit AutoIT (Koda?) zu "doppeln" und im eigentlichen Programmfenster von BestPractice an der gewünschten Stelle einzublenden? Er müßte die Postionsänderungen aber auch noch mehr oder weniger in Echtzeit an BP weiterreichen, damit es sich sinnvoll bedienen läßt.

    Bevor ich da jetzt viel Zeit reinsetze wäre ich Euch für eine Einschätzung der Machbarkeit dankbar.

    Gruß
    Tom

    Einmal editiert, zuletzt von beagle (23. Februar 2010 um 20:23)

  • unter den UDFs findest du zu fast jedem GUI-Control ein SetSize Befehl, bsp Button:

    [autoit]

    _GUICtrlButton_SetSize()

    [/autoit]
  • Hallo beagle,

    es gibt fast nichts, was mit AutoIt nicht möglich wäre. Um Controls in Fremdanwendungen zu ändern solltest duch dich anstatt mit KODA zu beschäftigen die Kapitel in der Hilfe unter Allgemeines zu AutoIt:

    • AutoIt Fenster-Informations-Tool (AU3Info)
    • Fenster-Titel und -text (Grundlagen)
    • Fenster-Titel und -Text (erweitert)
    • Controls

    durchlesen und eventuell die Tutorials durcharbeiten. Danach ist folgendes kleine Skript, das die MC-Taste des Taschenrechners verändert ein Kinderspiel für dich:

    [autoit]

    Run("calc.exe")
    WinWait("[Class:SciCalc]")
    $hWnd = WinGetHandle("[Class:SciCalc]")
    SendKeepActive("[Class:SciCalc]")
    Send("!as") ;Umschalten auf Standard-Ansicht
    $hCtrl = "Button1" ;Button 'MC'

    [/autoit][autoit][/autoit][autoit]

    $Pos = ControlGetPos($hWnd,"",$hCtrl)
    ControlMove($hWnd,"",$hCtrl,$Pos[0]-5,$Pos[1]-5,$Pos[2]+10,$Pos[3]+10)

    [/autoit]

    mfg (Auto)Bert