Morgen, ich habe vor einiger Zeit mal ein Netzlaufwerkscript für meine Dienststelle sowie Außenstelle erstellt.., zu der Zeit als ich dieses gebaut habe war ich relativ neu in Autoit und habe alles meiner Meinung nach nicht Optimal gelöst, nun überarbeite ich dieses Script und würde gerne innerhalb meiner Switch Case eine Schleife einbauen.. bekomme es aber leider nicht hin
für neue Lösungsansetzte bin ich natürlich auch zu begeistern
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
; Netzlaufwerke Meistereien
;######################################################################################################################
; Autor : Mkrtschjan, Marvin
; Datum : 17.05.2011
; Amt : ASV Frankfurt
; Abteilung : IT
;######################################################################################################################
; Includes..
#NoTrayIcon
Opt("GUICloseOnESC", 1)
;######################################################################################################################
; benötigte Variablen definieren
$GUITitel = "Netzlaufwerke Meistereien V 1.3"
$ICONS_DLL = "C:\WINDOWS\SYSTEM32\shell32.dll"
$Abbruch = 0
$Benutzer = ""
$Password1 = ""
$Server1 = 0
$Server2Icon = 0
$Server3Icon = 0
$Amt2 = 0
$cbox2_checked = 0
$cbox3_checked = 0
$Server_Pfad1 = 0
$Server_Pfad2 = 0
$Server_Pfad3 = 0
$i = 0
$o = 0
$p = 0
;######################################################################################################################
;######################################################################################################################
;Freie Laufwerksbuchstaben ermitteln
[/autoit] [autoit][/autoit] [autoit]$FreeDriveList = GetFreeDriveLetters() ; Laufwerksbuchstaben werden in einem Array zurückgegeben
$var = $FreeDriveList ; Funktion "GetFreeDriveLetters() siehe Ende des Scripts
$Laufwerksbuchstabe1 = $var[1] ; freien Laufwerksbuchstaben zuordnen "Array [1]
$Laufwerksbuchstabe2 = $var[2] ; freien Laufwerksbuchstaben zuordnen "Array [2]
$Laufwerksbuchstabe3 = $var[3] ; freien Laufwerksbuchstaben zuordnen "Array [3]
;######################################################################################################################
; Array erstellen mithilfe nach dem Laufwersmapping die Namen der Laufwerke geändert werden also von
; vol01$ an 10.30.xx.xx in den Namen der Meisterei zb "AM Idstein"
Dim $mArray[30][2]
;######################################
;############ ASV Frankfurt ###########
;######################################
$mArray[1][0] = "AM Diedenbergen"
$mArray[1][1] = "\\IP\VOL01$"
$mArray[2][0] = "AM Ehringshausen"
$mArray[2][1] = "\\IP\VOL01$"
$mArray[3][0] = "AM Idstein"
$mArray[3][1] = "\\IP\VOL01$"
$mArray[4][0] = "AM Langenselbold"
$mArray[4][1] = "\\IP\VOL01$"
$mArray[5][0] = "AM Reiskirchen"
$mArray[5][1] = "\\IP\VOL01$"
$mArray[6][0] = "AM Rodgau"
$mArray[6][1] = "\\IP\VOL01$"
$mArray[7][0] = "AM Rüsselsheim"
$mArray[7][1] = "\\IP\VOL01$"
$mArray[8][0] = "KCBP Rödelheim"
$mArray[8][1] = "\\IP\KCBP$"
$mArray[9][0] = "SAM Frankfurt"
$mArray[9][1] = "\\IP\VOL01$"
$mArray[10][0] = "SM Hofheim"
$mArray[10][1] = "\\IP\VOL01$"
$mArray[11][0] = "SM Offenbach"
$mArray[11][1] = "\\IP\VOL01$"
$mArray[12][0] = "SM Usingen"
$mArray[12][1] = "\\IP\VOL01$"
;######################################
;############ ASV Schotten ############
;######################################
$mArray[13][0] = "SM Alten-Buseck"
$mArray[13][1] = "\\IP\vol01$"
$mArray[14][0] = "SM Grebenhain"
$mArray[14][1] = "\\IP\vol01$"
$mArray[15][0] = "SM Grünberg"
$mArray[15][1] = "\\IP\vol01$"
$mArray[16][0] = "SM Homberg"
$mArray[16][1] = "\\IP\vol01$"
$mArray[17][0] = "SM Lauterbach"
$mArray[17][1] = "\\IP\vol01$"
;######################################
;############# ASV Fulda ##############
;######################################
$mArray[18][0] = "BB Neuhof"
$mArray[18][1] = "\\IP\vol01$"
$mArray[19][0] = "SM Gersfeld"
$mArray[19][1] = "\\IP\vol01$"
$mArray[20][0] = "SM Hünfeld"
$mArray[20][1] = "\\IP\vol01$"
$mArray[21][0] = "SM Neuhof"
$mArray[21][1] = "\\IP\vol01$"
;######################################################################################################################
; gespeicherten Benutzer aus INI Datei lesen sollte diese nicht vorhanden sein wird ein Standart Wert "admasv" gesetzt
$Benutzer1=IniRead("C:\autoit_Meistereien_cfg.ini","cfg","user","admasv")
;######################################
;#### Inhalte der Dropdown Boxen ######
;######################################
$Meistereien = ""
$Aemter = "ASV Frankfurt|ASV Schotten|ASV Fulda"
$Meistereien_fr = "AM Diedenbergen|AM Ehringshausen|AM Idstein|AM Langenselbold|AM Reiskirchen|AM Rodgau|AM Rüsselsheim|KCBP Rödelheim|SAM Frankfurt|SM Hofheim|SM Offenbach|SM Usingen"
$Meistereien_so = "SM Alten-Buseck|SM Grebenhain|SM Grünberg|SM Homberg|SM Lauterbach"
$Meistereien_fu = "BB Neuhof|SM Gersfeld|SM Hünfeld|SM Neuhof"
;######################################################################################################################
;########################################## Netzlaufwerke Script Meistereien ##########################################
;#################################################### Version 1.2#####################################################
;################################################## Beginn MainGui ####################################################
;######################################################################################################################
$Hauptfenster = GUICreate(" "& $GUITitel & " ",180,110,-1,-1,$WS_MINIMIZEBOX,$WS_EX_TOPMOST)
$TrennenButton = GUICtrlCreateButton ("Trennen",60,10,60,45,$BS_ICON)
GUICtrlSetImage ($TrennenButton, $ICONS_DLL,11 ,2)
GUICtrlCreateLabel('Netzlaufwerke trennen', 37, 60, 107, 15)
GUISetState(@SW_HIDE, $Hauptfenster)
$Nutzer = GuiCreate(" " & $GUITitel, 287, 220,-1, -1)
GUICtrlCreateLabel ("Standort:",10,13,170,25)
GUICtrlCreateLabel ("Server:",10,37,170,25)
GUICtrlCreateLabel ("Benutzername:",10,115,170,25)
GUICtrlCreateLabel ("Kennwort:",10,138,47,25)
$Amt = GUICtrlCreateCombo("", 90, 10, 150, 20)
GUICtrlSetData(-1, $Aemter, "")
$Server1 = GUICtrlCreateCombo("", 90, 35, 150, 20)
GUICtrlSetData(-1, $Meistereien, "")
GUICtrlSetState($Server1,$GUI_DISABLE)
$Server2 = GUICtrlCreateCombo("", 90, 60, 150, 20)
GUICtrlSetData(-1, $Meistereien, "")
GUICtrlSetState($Server2,$GUI_DISABLE)
$Server3 = GUICtrlCreateCombo("", 90, 85, 150, 20)
GUICtrlSetData(-1, $Meistereien, "")
GUICtrlSetState($Server3,$GUI_DISABLE)
$BenutzerEingabe = GUICtrlCreateInput ($Benutzer1, 90, 113, 150, 20)
GUICtrlSetState($BenutzerEingabe,$GUI_ENABLE)
$PasswordEingabe1 = GUICtrlCreateInput ( "", 90, 138, 150, 20, $ES_PASSWORD)
$cboxsave = GUICtrlCreateCheckbox("Benutzer Speichern?", 90, 165, 120, 20)
$cboxserver2 = GUICtrlCreateCheckbox("", 70, 63, 17, 17)
$cboxserver3 = GUICtrlCreateCheckbox("", 70, 86, 17, 17)
$progico = GUICtrlCreateIcon($ICONS_DLL,10,20,60)
$ButtonOK = GuiCtrlCreateButton("OK", 90, 190, 35, 25)
$about = GUICtrlCreateButton("?", 260, 195,20,20)
$ButtonAbbruch = GuiCtrlCreateButton("Abbruch", 145, 190, 55, 25)
$StandortIcon = GUICtrlCreateIcon($ICONS_DLL,290,240,11,18,18)
$BenutzerIcon = GUICtrlCreateIcon($ICONS_DLL,279,240,114,18,18) ; Icon hinter Benutzereingabefeld
$PwIcon = GUICtrlCreateIcon($ICONS_DLL,325,240,139,18,18) ; Icon hinter Passworteingabefeld
GUICtrlSetState($cboxserver2, $GUI_DISABLE)
GUICtrlSetState($cboxserver3, $GUI_DISABLE)
GUISetState(@SW_SHOW, $Nutzer) ; Hauptfenster anzeigen
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]While $Abbruch = 0
$Benutzer = GUICtrlRead ($BenutzerEingabe)
$Password1 = GUICtrlRead ($PasswordEingabe1)
$cbox2 = GUICtrlRead($cboxserver2)
$cbox3 = GUICtrlRead($cboxserver3)
$s1 = GUICtrlRead ($Server1)
$s2 = GUICtrlRead ($Server2)
$s3 = GUICtrlRead ($Server3)
$Amt1 = GUICtrlRead($Amt)
If $cbox2_checked = 0 Then
GUICtrlDelete($Server2Icon)
EndIf
If $cbox3_checked = 0 Then
GUICtrlDelete($Server3Icon)
EndIf
If $s1 Not = 0 And $p = 0 Then
GUICtrlSetState($cboxserver2, $GUI_ENABLE)
GUICtrlSetState($cboxserver3, $GUI_ENABLE)
$p = 1
EndIf
If $i = 0 And $Amt1 = "ASV Frankfurt" Then
$Meistereien = $Meistereien_fr
$Server1Icon = GUICtrlCreateIcon($ICONS_DLL,290,240,36,18,18)
GUICtrlSetState($BenutzerEingabe,$GUI_ENABLE)
GUICtrlDelete($Server1) ;#####
$Server1 = GUICtrlCreateCombo("", 90, 35, 150, 20) ;#####
GUICtrlSetData(-1, $Meistereien, "") ;#####
GUICtrlSetState($Server1,$GUI_ENABLE) ;#####
$Amt2 = "ASV Frankfurt"
[/autoit] [autoit][/autoit] [autoit]$i = 1
EndIf
If $i = 0 And $Amt1 = "ASV Schotten" Then
$Meistereien = $Meistereien_so
$Server1Icon = GUICtrlCreateIcon($ICONS_DLL,290,240,36,18,18)
GUICtrlSetState($BenutzerEingabe,$GUI_ENABLE)
GUICtrlDelete($Server1) ;#####
$Server1 = GUICtrlCreateCombo("", 90, 35, 150, 20) ;#####
GUICtrlSetData(-1, $Meistereien, "") ;#####
GUICtrlSetState($Server1,$GUI_ENABLE) ;#####
$Amt2 = "ASV Schotten"
[/autoit] [autoit][/autoit] [autoit]$i = 1
EndIf
If $i = 0 And $Amt1 = "ASV Fulda" Then
$Meistereien = $Meistereien_fu
$Server1Icon = GUICtrlCreateIcon($ICONS_DLL,290,240,36,18,18)
GUICtrlSetState($BenutzerEingabe,$GUI_ENABLE)
GUICtrlDelete($Server1) ;#####
$Server1 = GUICtrlCreateCombo("", 90, 35, 150, 20) ;#####
GUICtrlSetData(-1, $Meistereien, "") ;#####
GUICtrlSetState($Server1,$GUI_ENABLE) ;#####
$Amt2 = "ASV Fulda"
[/autoit] [autoit][/autoit] [autoit]$i = 1
EndIf
If $Amt1 <> $Amt2 Then
$i = 0
$Amt2 = ""
$Meistereien = ""
GUICtrlSetState($Server3,$GUI_DISABLE) ; bei einer änderung im Dropdown Feld "Amt"
GUICtrlSetState($Server2,$GUI_DISABLE) ; alle Felder leeren und checkboxen auf "Disable" setzen
GUICtrlSetState($cboxserver2,$GUI_UNCHECKED) ; sowie icons löschen..
GUICtrlSetState($cboxserver3,$GUI_UNCHECKED)
EndIf
; Abfragen zum freischalten oder sperren der weiteren Server Dropdown's
[/autoit] [autoit][/autoit] [autoit]If $cbox2 = $GUI_CHECKED Then
If $cbox2_checked = 0 Then
GUICtrlDelete($Server2)
$Server2 = GUICtrlCreateCombo("", 90, 60, 150, 20)
GUICtrlSetData(-1, $Meistereien, "")
GUICtrlSetState($Server2,$GUI_ENABLE)
$Server2Icon = GUICtrlCreateIcon($ICONS_DLL,290,240,62,18,18)
$cbox2_checked = 1
EndIf
EndIf
If $cbox3 = $GUI_CHECKED Then
If $cbox3_checked = 0 Then
GUICtrlDelete($Server3)
$Server3 = GUICtrlCreateCombo("", 90, 85, 150, 20)
GUICtrlSetData(-1, $Meistereien, "")
GUICtrlSetState($Server3,$GUI_ENABLE)
$Server3Icon = GUICtrlCreateIcon($ICONS_DLL,290,240,86,18,18)
$cbox3_checked = 1
EndIf
EndIf
If $cbox2 = $GUI_UNCHECKED Then
If $cbox2_checked = 1 Then
GUICtrlDelete($Server2)
$Server2 = GUICtrlCreateCombo("", 90, 60, 150, 20)
GUICtrlSetData(-1, $Meistereien, "")
GUICtrlSetState($Server2,$GUI_DISABLE)
$cbox2_checked = 0
EndIf
EndIf
If $cbox3 = $GUI_UNCHECKED Then
If $cbox3_checked = 1 Then
GUICtrlDelete($Server3)
$Server3 = GUICtrlCreateCombo("", 90, 85, 150, 20)
GUICtrlSetData(-1, $Meistereien, "")
GUICtrlSetState($Server3,$GUI_DISABLE)
$cbox3_checked = 0
EndIf
EndIf
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
Case $msg = $GUI_EVENT_MINIMIZE
Case $msg = $GUI_EVENT_MAXIMIZE
Case $msg = $ButtonAbbruch
Exit
Case $Server1 Or $Server2 Or $Server3
$auswahl1 = GUICtrlRead($Server1)
$auswahl2 = GUICtrlRead($Server2)
$auswahl3 = GUICtrlRead($Server3)
Switch $auswahl1
For $x = 1 To UBound($mArray) -1
Case $mArray[$x][0]
$Server_Pfad1 = $mArray[$x][1]
$sn1 = $mArray[$x][0]
Case Else
$Server_Pfad1 = 1
Next
#cs
Case $mArray[1] ;AM Diedenbergen
$Server_Pfad1 = $AMDI_Pfad ;
$sn1 = $mArray[1] ;
Case $mArray[2] ;AM Ehringshausen
$Server_Pfad1 = $AMEH_Pfad ;
$sn1 = $mArray[2] ;
Case $mArray[3] ;AM Idstein
$Server_Pfad1 = $AMID_Pfad ;
$sn1 = $mArray[3] ;
Case $mArray[4] ;AM Langenselbold
$Server_Pfad1 = $AMLA_Pfad ;
$sn1 = $mArray[4] ;
Case $mArray[5] ;AM Reiskirchen
$Server_Pfad1 = $AMRE_Pfad ;
$sn1 = $mArray[5] ;
Case $mArray[6] ;AM Rodgau
$Server_Pfad1 = $AMRO_Pfad ;
$sn1 = $mArray[6] ;
Case $mArray[7] ;AM Rüsselsheim
$Server_Pfad1 = $AMRU_Pfad ;
$sn1 = $mArray[7] ;
Case $mArray[8] ;KCBP Rödelheim
$Server_Pfad1 = $KCBP_Pfad ;
$sn1 = $mArray[8] ;
Case $mArray[9] ;SAM Frankfurt
$Server_Pfad1 = $SAMFR_Pfad ;
$sn1 = $mArray[9] ;
Case $mArray[10] ;SM Hofheim
$Server_Pfad1 = $SMHO_Pfad ;
$sn1 = $mArray[10] ;
Case $mArray[11] ;SM Offenbach
$Server_Pfad1 = $SMOF_Pfad ;
$sn1 = $mArray[11] ;
Case $mArray[12] ;SM Usingen
$Server_Pfad1 = $SMUS_Pfad ;
$sn1 = $mArray[12] ;
Case $mArray[13] ;SM Alten-Buseck
$Server_Pfad1 = $SMAB_Pfad ;
$sn1 = $mArray[13] ;
Case $mArray[14] ;SM Grebenhain
$Server_Pfad1 = $SMGH_Pfad ;
$sn1 = $mArray[14] ;
Case $mArray[15] ;SM Grünberg
$Server_Pfad1 = $SMGB_Pfad ;
$sn1 = $mArray[15] ;
Case $mArray[16] ;SM Homberg
$Server_Pfad1 = $SMHB_Pfad ;
$sn1 = $mArray[16] ;
Case $mArray[17] ;SM Lauterbach
$Server_Pfad1 = $SMLB_Pfad ;
$sn1 = $mArray[17] ;
Case $mArray[18] ;BB Neuhof
$Server_Pfad1 = $BBNE_Pfad ;
$sn1 = $mArray[18] ;
Case $mArray[19] ;SM Gersfeld
$Server_Pfad1 = $SMGF_Pfad ;
$sn1 = $mArray[19] ;
Case $mArray[20] ;SM Hünfeld
$Server_Pfad1 = $SMHU_Pfad ;
$sn1 = $mArray[20] ;
Case $mArray[21] ;SM Neuhof
$Server_Pfad1 = $SMNE_Pfad
$sn1 = $mArray[21]
Case Else
$Server_Pfad1 = 1
#ce
[/autoit] [autoit][/autoit] [autoit]EndSwitch
Switch $auswahl2
Case $mArray[1] ;AM Diedenbergen
$Server_Pfad2 = $AMDI_Pfad ;
$sn2 = $mArray[1] ;
Case $mArray[2] ;AM Ehringshausen
$Server_Pfad2 = $AMEH_Pfad ;
$sn2 = $mArray[2] ;
Case $mArray[3] ;AM Idstein
$Server_Pfad2 = $AMID_Pfad ;
$sn2 = $mArray[3] ;
Case $mArray[4] ;AM Langenselbold
$Server_Pfad2 = $AMLA_Pfad ;
$sn2 = $mArray[4] ;
Case $mArray[5] ;AM Reiskirchen
$Server_Pfad2 = $AMRE_Pfad ;
$sn2 = $mArray[5] ;
Case $mArray[6] ;AM Rodgau
$Server_Pfad2 = $AMRO_Pfad ;
$sn2 = $mArray[6] ;
Case $mArray[7] ;AM Rüsselsheim
$Server_Pfad2 = $AMRU_Pfad ;
$sn2 = $mArray[7] ;
Case $mArray[8] ;KCBP Rödelheim
$Server_Pfad2 = $KCBP_Pfad ;
$sn2 = $mArray[8] ;
Case $mArray[9] ;SAM Frankfurt
$Server_Pfad2 = $SAMFR_Pfad ;
$sn2 = $mArray[9] ;
Case $mArray[10] ;SM Hofheim
$Server_Pfad2 = $SMHO_Pfad ;
$sn2 = $mArray[10] ;
Case $mArray[11] ;SM Offenbach
$Server_Pfad2 = $SMOF_Pfad ;
$sn2= $mArray[11] ;
Case $mArray[12] ;SM Usingen
$Server_Pfad2 = $SMUS_Pfad ;
$sn2 = $mArray[12] ;
Case $mArray[13] ;SM Alten-Buseck
$Server_Pfad2 = $SMAB_Pfad ;
$sn2 = $mArray[13] ;
Case $mArray[14] ;SM Grebenhain
$Server_Pfad2 = $SMGH_Pfad ;
$sn2 = $mArray[14] ;
Case $mArray[15] ;SM Grünberg
$Server_Pfad2 = $SMGB_Pfad ;
$sn2 = $mArray[15] ;
Case $mArray[16] ;SM Homberg
$Server_Pfad2 = $SMHB_Pfad ;
$sn2 = $mArray[16] ;
Case $mArray[17] ;SM Lauterbach
$Server_Pfad2 = $SMLB_Pfad ;
$sn2 = $mArray[17] ;
Case $mArray[18] ;BB Neuhof
$Server_Pfad2 = $BBNE_Pfad ;
$sn2 = $mArray[18] ;
Case $mArray[19] ;SM Gersfeld
$Server_Pfad2 = $SMGF_Pfad ;
$sn2 = $mArray[19] ;
Case $mArray[20] ;SM Hünfeld
$Server_Pfad2 = $SMHU_Pfad ;
$sn2 = $mArray[20] ;
Case $mArray[21] ;SM Neuhof
$Server_Pfad2 = $SMNE_Pfad
$sn2 = $mArray[21]
Case Else
$Server_Pfad2 = 2
EndSwitch
Switch $auswahl3
Case $mArray[1] ;AM Diedenbergen
$Server_Pfad3 = $AMDI_Pfad ;
$sn3 = $mArray[1] ;
Case $mArray[2] ;AM Ehringshausen
$Server_Pfad3 = $AMEH_Pfad ;
$sn3 = $mArray[2] ;
Case $mArray[3] ;AM Idstein
$Server_Pfad3 = $AMID_Pfad ;
$sn3 = $mArray[3] ;
Case $mArray[4] ;AM Langenselbold
$Server_Pfad3 = $AMLA_Pfad ;
$sn3 = $mArray[4] ;
Case $mArray[5] ;AM Reiskirchen
$Server_Pfad3 = $AMRE_Pfad ;
$sn3 = $mArray[5] ;
Case $mArray[6] ;AM Rodgau
$Server_Pfad3 = $AMRO_Pfad ;
$sn3 = $mArray[6] ;
Case $mArray[7] ;AM Rüsselsheim
$Server_Pfad3 = $AMRU_Pfad ;
$sn3 = $mArray[7] ;
Case $mArray[8] ;KCBP Rödelheim
$Server_Pfad3 = $KCBP_Pfad ;
$sn3 = $mArray[8] ;
Case $mArray[9] ;SAM Frankfurt
$Server_Pfad3 = $SAMFR_Pfad ;
$sn3 = $mArray[9] ;
Case $mArray[10] ;SM Hofheim
$Server_Pfad3 = $SMHO_Pfad ;
$sn3 = $mArray[10] ;
Case $mArray[11] ;SM Offenbach
$Server_Pfad3 = $SMOF_Pfad ;
$sn3= $mArray[11] ;
Case $mArray[12] ;SM Usingen
$Server_Pfad3 = $SMUS_Pfad ;
$sn3 = $mArray[12] ;
Case $mArray[13] ;SM Alten-Buseck
$Server_Pfad3 = $SMAB_Pfad ;
$sn3 = $mArray[13] ;
Case $mArray[14] ;SM Grebenhain
$Server_Pfad3 = $SMGH_Pfad ;
$sn3 = $mArray[14] ;
Case $mArray[15] ;SM Grünberg
$Server_Pfad3 = $SMGB_Pfad ;
$sn3 = $mArray[15] ;
Case $mArray[16] ;SM Homberg
$Server_Pfad3 = $SMHB_Pfad ;
$sn3 = $mArray[16] ;
Case $mArray[17] ;SM Lauterbach
$Server_Pfad3 = $SMLB_Pfad ;
$sn3 = $mArray[17] ;
Case $mArray[18] ;BB Neuhof
$Server_Pfad3 = $BBNE_Pfad ;
$sn3 = $mArray[18] ;
Case $mArray[19] ;SM Gersfeld
$Server_Pfad3 = $SMGF_Pfad ;
$sn3 = $mArray[19] ;
Case $mArray[20] ;SM Hünfeld
$Server_Pfad3 = $SMHU_Pfad ;
$sn3 = $mArray[20] ;
Case $mArray[21] ;SM Neuhof
$Server_Pfad3 = $SMNE_Pfad
$sn3 = $mArray[21]
Case Else
$Server_Pfad3 = 3
EndSwitch
EndSelect
; ändern der Icons sowie abschalten des OK Buttons sobald einer der 3 Server identisch ist "zum vorbeugen von einem Doppelten Mapping"
[/autoit] [autoit][/autoit] [autoit]If $Server_Pfad1 = $Server_Pfad2 Or $Server_Pfad1 = $Server_Pfad3 Or $Server_Pfad2 = $Server_Pfad3 And $o = 0 Then
[/autoit] [autoit][/autoit] [autoit]If $Server_Pfad1 = $Server_Pfad2 Then
GUICtrlDelete($Server1Icon)
GUICtrlDelete($Server2Icon)
$Server1Icon = GUICtrlCreateIcon($ICONS_DLL,28,240,36,18,18)
$Server2Icon = GUICtrlCreateIcon($ICONS_DLL,28,240,62,18,18)
GUICtrlSetState($ButtonOK,$GUI_DISABLE)
EndIf
If $Server_Pfad1 = $Server_Pfad3 Then
GUICtrlDelete($Server1Icon)
GUICtrlDelete($Server3Icon)
$Server1Icon = GUICtrlCreateIcon($ICONS_DLL,28,240,36,18,18)
$Server3Icon = GUICtrlCreateIcon($ICONS_DLL,28,240,86,18,18)
GUICtrlSetState($ButtonOK,$GUI_DISABLE)
EndIf
[/autoit] [autoit][/autoit] [autoit]If $Server_pfad2 = $Server_Pfad3 Then
GUICtrlDelete($Server2Icon)
GUICtrlDelete($Server3Icon)
$Server3Icon = GUICtrlCreateIcon($ICONS_DLL,28,240,86,18,18)
$Server2Icon = GUICtrlCreateIcon($ICONS_DLL,28,240,62,18,18)
GUICtrlSetState($ButtonOK,$GUI_DISABLE)
EndIf
$o = 1
EndIf
; freigeben des OK Buttons sowie ändern der Icons sobald auf allen 3 Server unterschiedliche Meistereien gewählt wurden
[/autoit] [autoit][/autoit] [autoit]If $o = 1 And $Server_Pfad1 <> $Server_Pfad2 And $Server_Pfad1 <> $Server_Pfad3 And $Server_Pfad2 <> $Server_Pfad3 Then
[/autoit] [autoit][/autoit] [autoit]$o = 0
GUICtrlDelete($Server1Icon)
GUICtrlDelete($Server2Icon)
GUICtrlDelete($Server3Icon)
GUICtrlSetState($ButtonOK,$GUI_ENABLE)
$Server1Icon = GUICtrlCreateIcon($ICONS_DLL,290,240,36,18,18)
If $cbox2_checked = 1 Then
$Server2Icon = GUICtrlCreateIcon($ICONS_DLL,290,240,62,18,18)
EndIf
If $cbox3_checked = 1 Then
$Server3Icon = GUICtrlCreateIcon($ICONS_DLL,290,240,86,18,18)
EndIf
EndIf
Select
Case $msg = $ButtonOK
; Laufwerke verbinden
If DriveMapAdd ( $Laufwerksbuchstabe1, $Server_Pfad1, 0, "itshessen\" & $Benutzer, $Password1) = 1 Then ; Netzlaufwerk 1 verbinden
$oShell = ObjCreate("shell.application")
$oShell.NameSpace($Laufwerksbuchstabe1).Self.Name = $sn1 ;Namen des Laufwerkes anpassen
If $cbox2_checked = 1 Then
DriveMapAdd ( $Laufwerksbuchstabe2, $Server_Pfad2, 0, "itshessen\" & $Benutzer, $Password1) ; Netzlaufwerk 2 verbinden "nur wenn Checkbox = CHECKED
$oShell = ObjCreate("shell.application")
$oShell.NameSpace($Laufwerksbuchstabe2).Self.Name = $sn2 ;Namen des Laufwerkes anpassen
EndIf
If $cbox3_checked = 1 Then
DriveMapAdd ( $Laufwerksbuchstabe3, $Server_Pfad3, 0, "itshessen\" & $Benutzer, $Password1) ; Netzlaufwerk 3 verbinden "nur wenn Checkbox = CHECKED
$oShell = ObjCreate("shell.application")
$oShell.NameSpace($Laufwerksbuchstabe3).Self.Name = $sn3 ;Namen des Laufwerkes anpassen
EndIf
GUISetState(@SW_HIDE, $Nutzer) ; MainGUI ausblenden
GUISetState(@SW_SHOW, $Hauptfenster) ; Netzlaufwerke Trennen GUI anzeigen
$Abbruch = 1 ; Main Schleife stoppen
Else
MsgBox(0+48,"keine Berechtigung","Das eingegebene Kennwort ist nicht korrekt oder das Benutzerkonto ist deaktiviert.")
GUICtrlDelete($PasswordEingabe1)
$PasswordEingabe1 = GUICtrlCreateInput ( "", 90, 138, 150, 20, $ES_PASSWORD)
GUICtrlSetState($PasswordEingabe1,$GUI_FOCUS)
EndIf
; Benutzer Speichern
If GUICtrlRead($cboxsave) = $GUI_CHECKED Then
IniWrite("C:\autoit_Meistereien_cfg.ini","cfg","user",$Benutzer)
EndIf
; About MSG Box
Case $msg = $about
MsgBox(64,"About - Netzlaufwerkescript"," Autor : Mkrtschjan, Marvin "& @CRLF &" Datum : 06.06.2011 "& @CRLF &" Version : 1.3 "& @CRLF &" Amt: ASV Frankfurt") ; About
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]EndSelect
WEnd
; Netzlaufwerke Trennen MAIN Schleife
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
$MsgBox_Ergebnis = MsgBox(4+32+262144+256,"Sicherheitsabfrage","Netzlaufwerke wirklich trennen ?")
If $MsgBox_Ergebnis = 6 Then
DriveMapDel ( $Laufwerksbuchstabe1 )
DriveMapDel ( $Laufwerksbuchstabe2 )
DriveMapDel ( $Laufwerksbuchstabe3 )
Exit
EndIf
Case $msg = $TrennenButton
$MsgBox_Ergebnis = MsgBox(4+32+262144+256,"Sicherheitsabfrage","Netzlaufwerke wirklich trennen ?")
If $MsgBox_Ergebnis = 6 Then
DriveMapDel ( $Laufwerksbuchstabe1 )
DriveMapDel ( $Laufwerksbuchstabe2 )
DriveMapDel ( $Laufwerksbuchstabe3 )
Exit
Else
EndIf
EndSelect
Wend
While 1
$msg = GUIGetMsg()
Select
Case $msg = $quitbutton
Exit
EndSelect
WEnd
; Freie Laufwerksbuchstaben ermitteln
Func _GetFreeDriveLetters()
Dim $aArray[1]
For $x = 67 To 90
If DriveStatus(Chr($x) & ':\') = 'INVALID' Then
ReDim $aArray[UBound($aArray) + 1]
$aArray[UBound($aArray) - 1] = Chr($x) & ':'
EndIf
Next
$aArray[0] = UBound($aArray) - 1
Return($aArray)
EndFunc
Gruß Marvin
// Edit : Hat sich erledigt