Mein (erstes) Script

  • Hi,

    kurz zu mir xD ich habe mir vor 2 tagen ein usb headset gekauft, und da war das problem ständig über taskleiste umschaltten da hab ich mal gegoogelt und fand AutoIt, ein total geiles programm muss ich sagen. und da ich nicht locker lassen konnte mit dem script was zuerst war und immer mehr funktionen haben wollte bin ich jetzt hier gelandet

    [autoit]

    #include <GUIConstantsEx.au3>
    opt("GUIOnEventMode", 1)
    GUIcreate("Standartwiedergabegerät Auswählen", 230, 120)
    GUIsetonevent($GUI_EVENT_CLOSE, "close")
    GUIsetstate(@sw_show)
    GUICtrlCreateLabel("Bitte wählen sie Ihr zuverwendendes"&@crlf&"Wiedergabegerät aus.", 30, 30)
    $HEADSET = GUIctrlcreatebutton("Headset", 90, 60)
    GUIctrlsetonEvent($HEADSET, "head")
    $BOXEN = GUICtrlCreateButton("Boxen", 30, 60)
    GUICtrlSetOnEvent($BOXEN, "box")
    $zeit = "10"
    While 1
    Sleep(1000)
    Wend

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

    Func head()
    If FileExists("c:\ausgabe\activ\headset.txt") Then
    MsgBox(0, "Headset", "Headset bereits Aktiviert", 3)
    Exit
    Else
    ShellExecute("mmsys.cpl")
    WinWaitActive("Sound")
    Sleep ($zeit)
    Send("{DOWN}")
    Sleep ($zeit)
    FileMove("C:\ausgabe\inactiv\headset.txt", "C:\ausgabe\activ\headset.txt")
    Sleep ($zeit)
    Send ("{TAB}")
    Sleep ($zeit)
    Send ("{TAB}")
    Sleep ($zeit)
    Send ("{ENTER}")
    Sleep ($zeit)
    Send ("{ENTER}")
    WinWaitClose("Sound")
    MsgBox(0, "Headset", "Headset wurde als Standartwiedergabegerät Aktiviert", 3)
    Exit
    EndIf
    EndFunc

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

    Func box()
    If FileExists("c:\ausgabe\activ\headset.txt") Then
    ShellExecute("mmsys.cpl")
    WinWaitActive("Sound")
    Sleep ($zeit)
    Send("{DOWN}")
    Sleep ($zeit)
    Send("{DOWN}")
    Sleep ($zeit)
    FileMove("C:\ausgabe\activ\headset.txt", "C:\ausgabe\inactiv\headset.txt")
    Sleep ($zeit)
    Send ("{TAB}")
    Sleep ($zeit)
    Send ("{TAB}")
    Sleep ($zeit)
    Send ("{ENTER}")
    Sleep ($zeit)
    Send ("{ENTER}")
    WinWaitClose("Sound")
    MsgBox (64, "Boxen", "Boxen wurden als Standartwiedergabegerät Aktiviert", 3)
    Exit
    Else
    MsgBox(0, "Boxen", "Boxen bereits Aktiviert", 3)
    Exit
    EndIf
    EndFunc

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

    Func close()
    Exit
    EndFunc

    [/autoit]

    ich hoffe ihr sagt mal eure meinungen dazu. anregungen sind auch gern gesehn und vielleicht kann mal einer das script so ändern das ich nicht mit filemove sondern mit filecreate und delete arbeiten könnte

    MFG Euer Thooledo

  • Für das aktiv und inaktiv kannst du auch eine Inidatei nehmen anstatt immer Datein zu erstellen und zu löschen. :)

    Schau dir einfach mal

    [autoit]

    Iniwrite()

    [/autoit]

    an.


    Weiterhin ist dein Skript eigentlich nur auf deinem PC (Win7 oder Vista denk ich) wirklich funktionsfähig, da jeder andere Einstellungen und Hardware hat. Somit ist das mit den Tastendrücken nicht wirklich gut am Ende. Und unter WinXP schon garnicht^^. Und deine Schließen Funktion geht auch nicht richtig.

    So sollte es Funktionieren:

    [autoit]

    GUIcreate("Standartwiedergabegerät Auswählen", 230, 120)
    GUIsetonevent(-3, "close")

    [/autoit]