#NoTrayIcon ;~ Es wird kein Symbol in der Taskleiste unten Rechts angezeigt #include ;~ Muss beigefügt werden, damit man ein GUI programmieren kann GUICreate("Laufwerke ändern", 300, 150) ;~ Hier wird das Fesnter erstellt, Titel und Größe festgelegt $trennen = GUICtrlCreateButton("Trennen", 10, 105, 90, 35) ;~ Hier werden die Knöpfe samt Bezeichnungen und Positionen festgelegt $verbinden = GUICtrlCreateButton("Verbinden", 110, 105, 90, 35) $ende = GUICtrlCreateButton("Ende", 220, 105, 70, 35) GUICtrlCreateLabel ("Dieses Programm lässt dich die Pfade der Laufwerke ändern.", 10, 10) ;~ Der Text der nachher wo im Fesnter stehen soll GUICtrlCreateLabel ("Drückst du auf ""Trennen"", so werden die Laufwerke ""R""", 10, 35) GUICtrlCreateLabel ("und ""S"" getrennt. Drückst du auf ""Verbinden"" so werden", 10, 50) GUICtrlCreateLabel ("diese neu verbunden mit den Inhalten der Server-Daten.", 10, 65) GUICtrlCreateLabel ("Die Laufwerke müssen vor dem Verbinden leer sein!", 10, 80) GUISetState() ;~ aktiviert das GUI (macht es sichtbar) Do ;~ Anfang einer Schleife, Bedingung folgt weiter unten $msg = GUIGetMsg() ;~ merkt sich den gedrückten Knopf Select ;~ Lässt zwischen verschiedenen Ereignissen wählen Case $msg = $trennen ;~ Ereignis 1, der Knopf "Trennen" wird gedrückt $errorR = "erfolgreich" ;~ setzt Variablen für das spätere Feedback $errorS = "erfolgreich" $inhaltR = DriveMapGet ("R:") ;~ Merkt sich, was vorher auf dem LAufwerk verbunden war $inhaltS = DriveMapGet ("S:") If DriveMapDel("R:") = 0 Then $errorR = "nicht" ;~ prüft, ob das Laufwerk tatsächlich getrennt wurde und merkt sich das If DriveMapDel("S:") = 0 Then $errorS = "nicht" MsgBox (64, "LW-Info", "Laufwerk ""R:"" wurde " & $errorR & " getrennt (vorher: " & $inhaltR & ")." & @CRLF & "Laufwerk ""S:"" wurde " & $errorS & " getrennt (vorher: " & $inhaltS & ").") ;~ Feedback zur vorher durchgeführten Aktion Case $msg = $verbinden ;~ Ereignis 2, der Knopf "Verbinden" wird gedrückt $errorR = "nicht" ;~ s.O. $errorS = "nicht" DriveMapGet ("R:") ;~ prüft, ob der Laufwerksbuchstabe bereits vergeben ist If @error Then DriveMapAdd("R:", "\\" & @ComputerName & "\_Server_Daten") ;~ wenn nicht, verbinde es mit den gegebenen Daten If DriveMapGet ("R:") = "\\" & @ComputerName & "\_Server_Daten" Then $errorR = "erfolgreich" ;~ prüfe, ob das Laufwerk richtig verbunden wurde und merke dir dies DriveMapGet ("S:") ;~ gleiches wie das Laufwerk vorher If @error Then DriveMapAdd("S:", "\\" & @ComputerName & "\_Server_Daten\ACAD") If DriveMapGet ("S:") = "\\" & @ComputerName & "\_Server_Daten\ACAD" Then $errorS = "erfolgreich" MsgBox (64, "LW-Info", "Laufwerk ""R:"" wurde " & $errorR & " verbunden." & @CRLF & "Laufwerk ""S:"" wurde " & $errorS & " verbunden.") ;~ Feeback zur vorher durchgeführten Aktion EndSelect ;~ Beende das Auswahlverfahren und fange wieder von vorne an Until $msg = -3 or $msg = $ende ;~ Führe diese Schleife solange aus, bis der Knopf "Ende" oder das "X" zum schließen gedrückt wird Exit ;~schließt das Programm samt Prozess(en) (eigentlich unnötig da hier nur ein Prozess - nämlich das Programm selber - verwendet wurde)