Laufwerke ansteuern

  • Hallo Leute,

    es gibt doch eine Methode um alle Laufwerke anzusteuern oder?
    Ich habe momentan es so gemacht.:

    [autoit]


    ...
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $open_dvdl
    CDTray("F:", "open")

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

    Case $open_dvdb
    CDTray("G:", "open")

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

    Case $close_dvdl
    CDTray("F:", "close")

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

    Case $close_dvdb
    CDTray("G:", "close")

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

    EndSwitch
    WEnd

    [/autoit]
  • hi,
    versuch doch mal das folgende (90% aus der AutoIT hilfe):

    [autoit]

    $var = DriveGetDrive( "all" )
    If NOT @error Then
    MsgBox(4096,"", "Found " & $var[0] & " drives")
    For $i = 1 to $var[0]
    MsgBox(4096,"Drive " & $i, $var[$i])
    MsgBox(0,"Drive-Info",DriveGetType($var[$i]))
    Next
    EndIf

    [/autoit]


    musst dann nur gucken obs ein CD-Laufwerk ist (wird ja angezeigt)

    Wer immer nur das tut, was er bereits kann - wird auch immer nur das bleiben, was er bereits ist!

    • Offizieller Beitrag

    Mal schnell 'ne Funktion gescriptet:

    [autoit]


    _CDTrayAll()

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

    Func _CDTrayAll($iFlag = 1)
    Local $aStatus[2] =['CLOSE', 'OPEN']
    Local $aCDROM = DriveGetDrive('CDROM')
    If @error Then Return SetError(1, 0, 0)
    For $i = 1 To $aCDROM[0]
    CDTray($aCDROM[$i], $aStatus[$iFlag])
    Next
    EndFunc

    [/autoit]
  • Danke schön und gut aber das hilft mir nichts weil ich die Open und Close funktion so nicht mit einbauen kann das ganze sieht dann so aus.:

    [autoit]


    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.0.0
    Author: Michi2q

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

    Script Function:Öffnet oder Schließt auf Knopfdruck das ausgewählte Laufwerk.
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate("Laufwerke Opener", 188, 71, 192, 124)
    GUISetIcon("H:\~~Icon~~\Backup_-_No_-_Icons\Equal\ICO\CDs\DVD.ico")
    GUISetCursor (3)
    GUISetBkColor(0x000000)
    $open_dvdl = GUICtrlCreateButton("Open", 8, 24, 81, 17, 0)
    $close_dvdl = GUICtrlCreateButton("Close", 8, 48, 81, 17, 0)
    $open_dvdb = GUICtrlCreateButton("Open", 96, 24, 81, 17, 0)
    $close_dvdb = GUICtrlCreateButton("Close", 96, 48, 81, 17, 0)
    $Label1 = GUICtrlCreateLabel("DVD Laufwerk", 8, 7, 74, 17)
    GUICtrlSetColor(-1, 0xD4D0C8)
    $Label2 = GUICtrlCreateLabel("DVD Brenner", 96, 7, 67, 17)
    GUICtrlSetColor(-1, 0xD4D0C8)
    GUISetState(@SW_SHOW)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $open_dvdl
    CDTray("F:", "open")

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

    Case $open_dvdb
    CDTray("G:", "open")

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

    Case $close_dvdl
    CDTray("F:", "close")

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

    Case $close_dvdb
    CDTray("G:", "close")

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

    EndSwitch
    WEnd

    [/autoit]


    Das ganze will ich jetzt so halt haben das ich alle Laufwerke angezeigt bekomme und diese dann Öffnen und Schließen kann.

  • So in etwa?

    Spoiler anzeigen
    [autoit]

    Opt("GUIOnEventMode", 1)

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

    GUICreate("Laufwerke Opener", 278, 71, 192, 124)
    GUISetOnEvent(-3, '_Exit')
    GUISetIcon("H:\~~Icon~~\Backup_-_No_-_Icons\Equal\ICO\CDs\DVD.ico")
    GUISetCursor(3)
    GUISetBkColor(0x000000)

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

    Global $choice = GUICtrlCreateCombo("", 8, 24, 81, 20, 0x2)
    GUICtrlSetOnEvent(-1, '_ReadInfo')

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

    Local $Drives
    For $i = Asc('D') To Asc('Z')
    If DriveGetType(Chr($i) & ':\') = 'CDROM' Then $Drives &= '|' & Chr($i) & ':\'
    Next
    GUICtrlSetData(-1, $Drives, StringTrimLeft(StringLeft($Drives, 4), 1))

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

    GUICtrlCreateButton("Open", 96, 24, 81, 22, 0)
    GUICtrlSetOnEvent(-1, '_OpenCD')
    GUICtrlCreateButton("Close", 183, 24, 81, 22, 0)
    GUICtrlSetOnEvent(-1, '_CloseCD')

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

    Global $info = GUICtrlCreateLabel("DVD Brenner", 8, 6, 267, 17)
    GUICtrlSetColor(-1, 0x00FF00)

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

    _ReadInfo()
    GUISetState(@SW_SHOW)

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

    While 1
    Sleep(10000)
    WEnd

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

    Func _ReadInfo()
    GUICtrlSetData($info, StringTrimLeft(BinaryToString(RegRead("HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices", "\DosDevices\" & StringTrimRight(GUICtrlRead($choice), 1)), 2), 4))
    EndFunc ;==>_ReadInfo

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

    Func _OpenCD()
    CDTray(GUICtrlRead($choice), 'open')
    EndFunc ;==>_OpenCD

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

    Func _CloseCD()
    CDTray(GUICtrlRead($choice), 'close')
    EndFunc ;==>_CloseCD

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

    Func _Exit()
    Exit
    EndFunc ;==>_Exit

    [/autoit]