Reiterauswahl

  • Hallo AutoIT-Community,


    ich bin grade dabei ein Script zu erstellen, welches nach einer unattended Installation von Windows XP beim ersten Start von Windows ausgeführt werden und den Ruhestandsmodus sowohl bei einem PC als auch bei einem Notebook aktivieren soll.

    Das Problem ist folgendes. Ich befinde mich im Energieverwaltungsmenü ("Eigeneschaften von Energieoptionen") auf dem ersten Reiter "Energieschemas" und möchte auf den Reiter "Erweitert" springen.

    Nun könnte ich ja ganz einfach mittels Tab dorthinspringen, das Problem dabei ist aber, dass beim Notebook dazwischen noch 2 andere Reiter sind, ich also 3 mal Tabben müsste, bei einem PC jedoch nur einmal. Also würde ich gerne wissen, ob es möglich ist, irgendwie so zu scripten, dass man sowohl auf einem PC als auch auf einem Notebook auf den Reiter "Erweitert" kommt, ohne zu tabben.


    MfG

    Benkie

    Einmal editiert, zuletzt von Benkie (2. September 2008 um 12:33)

  • Du kannst auch zählen wie viele Tabs vorhanden sind, und dann entweder 1 oder 3 Reiter weiterspringen.


    [autoit]

    #Include <GuiTab.au3>
    $handle = ControlGetHandle("Eigenschaften von Energieoptionen", "", "SysTabControl321")
    $Anzahl = _GUICtrlTab_GetItemCount($handle)

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

    If $Anzahl = 4 Then
    _GUICtrlTab_SetCurFocus($handle,1)
    Else
    _GUICtrlTab_SetCurFocus($handle,4)
    EndIf

    [/autoit]
  • Hallo,


    erstmal vielen Dank für eure Antworten.

    Ich hab wohl vergessen zu sagen, dass ich noch recht wenig Erfahrung mit AutoIt habe und deshalb noch Fragen habe :D

    Also deinen Code Xenobiologist kann ich einfach so einfügen oder muss da noch was editiert werden? Oder soll da bei $Title "Erweitert" rein?


    Und deins Funkey sieht auch recht vielversprechend aus, nur habe ich absolut keine Ahnung von "GUI" oder besitze auch die Datei GuiTab.au3 nicht :(


    Könnt ihr mir bitte weiterhelfen? :)


    MfG

  • Die GuiTab ist bei einer Standard-Installation dabei, aber du brauchst sie nicht, wenn du den Code von Xeno nimmst. Ich hab ihn mal für dich umgeschrieben, so kannst du ihn direkt ausführen!!


    [autoit]

    Run("rundll32.exe shell32.dll,Control_RunDLL "&@SystemDir&"/powercfg.cpl")
    WinWait("Eigenschaften von Energieoptionen")
    Do
    ControlCommand("Eigenschaften von Energieoptionen", '', 'SysTabControl321', 'TabRight', '')
    Until StringInStr(WinGetText("Eigenschaften von Energieoptionen"), 'Wählen Sie die Energiesparoptionen aus, die Sie verwenden möchten.') <>0

    [/autoit]

    EDIT: Hatte noch einen Fehler drinn im Text : --> Energieoptionen anstelle von Energiesparoptionen

  • Hey :)


    vielen Dank nochmal. Das mit GuiTab hat geklappt, bei dem anderem ist er immer bis "USV" durchgetappt, dabei habe ich alle möglichen Schlagwörter verwendet.

    MfG