Hallo Zusammen,
ich habe ein kleines Skript geschrieben, das mir zwei bestimmte Netzlaufwerke verbinden soll.
Dazu Frage ich unter anderem den Benutzer und das Passwort ab.
Natürlich ist es mir sofort auf die Füße gefallen, wo ich einen User mit einem längeren Passwort hatte.
Was ich bis dahin nicht bemerkt hatte war, dass am Ende von der InputBox nichts mehr eingegeben werden kann.
Ich habe mir schon einen Wolf gesucht, finde aber nichts, mit dem ich die InputBox dazu bringe z.B. auch 100 Zeichen aufzunehmen.
Je nach Größe (Bildschirmauflösung) ist beim Passwort-Feld nach 10 oder 13 Zeichen Schluss. Die Lösung von meinem Problem findet glaube ich in Zeile 30 statt.
Ein Paar Werte habe ich in eine ini-Datei ausgelagert.
Kann mir jemand helfen?
AutoIt: Netzlaufwerke verbinden
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <MsgBoxConstants.au3>
#include <ComboConstants.au3>
$Drive1 = IniRead(@ScriptDir & "\config.ini", "Drives", "Drive1", "0")
$Drive2 = IniRead(@ScriptDir & "\config.ini", "Drives", "Drive2", "0")
$Letter1 = IniRead(@ScriptDir & "\config.ini", "Letters", "Letter1", "0")
$Letter2 = IniRead(@ScriptDir & "\config.ini", "Letters", "Letter2", "0")
$Info1 = IniRead(@ScriptDir & "\config.ini", "Info", "Info1", "Die Konfig-Datei konnte nicht gefunden werden.")
$FormTitle = IniRead(@ScriptDir & "\config.ini", "FORM","Title","Netzlaufwerke verbinden")
$FormWidth = IniRead(@ScriptDir & "\config.ini", "FORM","Width","300")
$FormHeight= IniRead(@ScriptDir & "\config.ini", "FORM","Height","190")
$FormLeft= IniRead(@ScriptDir & "\config.ini", "FORM","Left","800")
$FormTop = IniRead(@ScriptDir & "\config.ini", "FORM","Top","300")
$Domains = IniRead(@ScriptDir & "\config.ini", "Domain","Domains","0")
$Form1 = GUICreate($FormTitle, $FormWidth, $FormHeight, $FormLeft, $FormTop)
$Label1 = GUICtrlCreateLabel("Domain", 30, 43, 100, 20)
$Label2 = GUICtrlCreateLabel("Username ", 30, 73, 100, 20)
$Label3 = GUICtrlCreateLabel("Password", 30, 103, 100, 20)
$Label4 = GUICtrlCreateLabel($Info1, 15, 10, 340, 20)
$Domain = GUICtrlCreateCombo("", 120, 40, 100, 21, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL))
GUICtrlSetData($Domain, $Domains)
$User = GUICtrlCreateInput("", 120, 70, 100, 21,$ES_LOWERCASE)
$PW = GUICtrlCreateInput( "", 120, 100, 100, 21, $ES_PASSWORD)
$Button1 = GUICtrlCreateButton("Verbinden", 30, 145, 100, 21, $BS_DEFPUSHBUTTON)
$Button2 = GUICtrlCreateButton("Abbrechen", 130, 145, 100, 21, $WS_GROUP)
GUISetState(@SW_SHOW)
While 1
$Msg = GUIGetMsg()
Switch $Msg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$Domain_read = GUICtrlRead($Domain)
$User_read = GUICtrlRead($User)
$login = ($Domain_read & "\" & $User_read)
$pw_read = GUICtrlRead($PW)
DriveMapDel($Letter1)
DriveMapDel($Letter2)
RunWait(DriveMapAdd($Letter1, $Drive1,0,$login,$pw_read))
sleep (1000)
IF @error > 0 Then
MsgBox(0,"","Es ist ein Fehler aufgetreten. Domain, Username oder Password sind nicht korrekt bitte versuchen Sie es erneut.")
ElseIf @error = 0 Then
RunWait(DriveMapAdd($Letter2, $Drive2,0,$login,$pw_read))
sleep (1000)
MsgBox(0,"","Die Netzlaufwerke "& $Letter1 &" und " & $Letter2 & " wurden erfolgreich verbunden.")
Exit
EndIf
Case $Button2
Exit
EndSwitch
WEnd
Alles anzeigen
Code: config.ini
[Drives]
Drive1 = \\Laufwerk1
Drive2 = \\Laufwerk2
[Letters]
Letter1 = H:
Letter2 = P:
[Info]
Info1 = Dieses Skript verbindet die Laufwerke H: und P:
[FORM]
Title = Netzlaufwerke verbinden
Width = 300
Height = 190
Left = 800
Top = 300
[Domain]
Domains = EM|F3A|GUEST|AN
Alles anzeigen