Hallo
In meinem Script, das unter WinXP funktioniert, aber nicht in Win7, funktioniert das shellexecute nicht mehr zum Serverpfad!
Gestartet wird das Programm von C:\ ( Mein PC) und soll auf L:\ (Serverpfad) in Ordner springen.
Wie kann man das wieder zum Laufen bekommen?
$OrdAngAlt = "L:\G...\KIen....\ANGEBOT "&$ljl&"\"
...
Case $Jump1a
ShellExecute($OrdAngAlt, "", "", "open")
...
Das ganze Script:
Spoiler anzeigen
#NoTrayIcon
#RequireAdmin
#include <EditConstants.au3>
#include <File.au3>
#include <GUIConstantsEx.au3>
#include <GuiEdit.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>
Local $OrdAngAlt, $OrdAufAlt, $OrdAltlj, $OrdAng12, $OrdAuf12, $OrdJahrdj, $m1, $m2, $m2a, $m3, $m4z, $mfe, $ljl, $lj, $dj
$ljl = (@YEAR-1)
$lj = StringTrimLeft(@YEAR, 2)-1
$dj = StringTrimLeft(@YEAR, 2)
$OrdAngAlt = "L:\G...\KIen....\ANGEBOT "&$ljl&"\"
$OrdAufAlt = "L:\G...\KIen....\AUFTRAG "&$ljl&"\"
$OrdAltlj = "L:\G...\KIen....\alte Aufträge "&$ljl&"\"
$OrdAng12 = "L:\G...\KIen....\ANGEBOT "& @YEAR &"\"
$OrdAuf12 = "L:\G...\KIen....\AUFTRAG "& @YEAR &"\"
$OrdJahrdj = "L:\G...\KIen....\alte Aufträge "& @YEAR &"\"
$m1 = "Fehlermeldung!"
$m2 = "Der Ordner ist nicht da!"
$m2a = "Wollen Sie im CD-Brennen-Ordner nachsehen?"
$m3 = "Leider ist er auch hier nicht da!"
$mfe = "Falsche Eingabe..."
$m4z = "Bitte 4 Zahlen eingeben!"
Global $hSendFocus
$hGui = GUICreate("Ordner-Springer " & @YEAR, 400, 145)
;~ ~~~ Tab ~~~~~~~ Ordner-Springer ~~~~~~~~
[/autoit] [autoit][/autoit] [autoit]If Not @Compiled Then GUISetIcon('Ordner1.ico')
GUICtrlCreateTab(0, 0, 400, 145)
GUICtrlCreateTabItem("Ordner-Springer")
GUICtrlCreateLabel('', 200, 21, 198, 121, 0x01 + 0x0200)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetBkColor(-1, 0xC7FA21);D6FA83
GUICtrlCreateLabel("|", 200, 21, 2, 124, 0x11)
Local $Jump1, $Jump1a, $Input1
GUICtrlCreateLabel("ANGEBOTS-Nummer eingeben", 25, 35, 150, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$Input1 = GUICtrlCreateInput("", 63, 55, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("01-", 42, 58, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
GUICtrlCreateLabel("-"&$lj, 102, 58, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$Jump1 = GUICtrlCreateButton("1", 125, 54, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Mit Nummer zum ANGEBOTS-Ordner "&$ljl&" springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
$Jump1a = GUICtrlCreateButton("2", 153, 54, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zum selber Suchen in den ANGEBOTS-Ordner "&$ljl&" springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0);4
Local $Input2, $Jump2, $Jump2a
GUICtrlCreateLabel("AUFTRAGS-Nummer eingeben", 25, 90, 150, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$Input2 = GUICtrlCreateInput("", 63, 110, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("02-", 42, 113, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
GUICtrlCreateLabel("-"&$lj, 102, 113, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$Jump2 = GUICtrlCreateButton("3", 125, 109, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Mit Nummer zum AUFTRAGS-Ordner "&$ljl&" springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
$Jump2a = GUICtrlCreateButton("4", 153, 109, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zum selber Suchen in den alten Ordner "&$ljl&" springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -158, 0)
Local $Input3, $Jump3, $Jump3a
GUICtrlCreateLabel("ANGEBOTS-Nummer eingeben", 230, 35, 150, 13)
$Input3 = GUICtrlCreateInput("", 268, 55, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("01-", 247, 58, 20, 13)
GUICtrlCreateLabel("-"&$dj, 307, 58, 20, 13)
$Jump3 = GUICtrlCreateButton("5", 330, 54, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Mit Nummer zum ANGEBOTS-Ordner "& @YEAR &" springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
$Jump3a = GUICtrlCreateButton("6", 358, 54, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zum selber Suchen in den ANGEBOTS-Ordner "& @YEAR &" springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0)
Local $Input4, $Jump4, $Jump4a
GUICtrlCreateLabel("AUFTRAGS-Nummer eingeben", 230, 90, 150, 13)
$Input4 = GUICtrlCreateInput("", 268, 110, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("02-", 247, 113, 20, 13)
GUICtrlCreateLabel("-"&$dj, 307, 113, 20, 13)
$Jump4 = GUICtrlCreateButton("7", 330, 109, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Mit Nummer zum AUFTRAGS-Ordner "& @YEAR &" springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
$Jump4a = GUICtrlCreateButton("8", 358, 109, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zum selber Suchen in den alten Ordner "& @YEAR &" springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -158, 0)
;~ ~~~ Tab ~~~~~~~ Neue Ordner ~~~~~~~~
[/autoit] [autoit][/autoit] [autoit]GUICtrlCreateTabItem("Neue Ordner")
;~ GUICtrlSetState(-1, $GUI_SHOW); will be display first
GUICtrlCreateLabel('', 1, 21, 398, 122, 0x01 + 0x0200)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetBkColor(-1, 0xC7FA21);D6FA83
Local $InputAngVon, $InputAngBis, $Create_Ang
GUICtrlCreateLabel("Angebots-Nummer eingeben von z.B. 1001 - 1010 :", 60, 35, 280, 13)
GUICtrlCreateLabel("von:", 32, 57, 25, 13)
GUICtrlCreateLabel("01-", 60, 57, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$InputAngVon = GUICtrlCreateInput("", 78, 53, 35, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("-"&$dj, 115, 57, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
GUICtrlCreateLabel("bis:", 142, 57, 25, 13)
GUICtrlCreateLabel("01-", 165, 57, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$InputAngBis = GUICtrlCreateInput("", 182, 53, 35, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("-"&$dj, 219, 57, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$Create_Ang = GUICtrlCreateButton("Ordner erstellen", 247, 52, 85, 23, 0x0040)
GUICtrlSetTip(-1, "Wie links die Nummern eingegeben, werden im Angebots-Ordner die neuen Ordner erstellt.")
$Jump2OrdAng12 = GUICtrlCreateButton("9", 340, 52, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zur Kontrolle den ANGEBOTS-Ordner "& @YEAR &" öffnen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0)
Local $InputAufVon, $InputAufBis, $Create_Auf
GUICtrlCreateLabel("Auftrags-Nummer eingeben von z.B. 2001 - 2010 :", 60, 90, 280, 13)
GUICtrlCreateLabel("von:", 32, 117, 25, 13)
GUICtrlCreateLabel("02-", 60, 117, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$InputAufVon = GUICtrlCreateInput("", 78, 113, 35, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("-"&$dj, 115, 117, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
GUICtrlCreateLabel("bis:", 142, 117, 25, 13)
GUICtrlCreateLabel("02-", 165, 117, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$InputAufBis = GUICtrlCreateInput("", 182, 113, 35, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("-"&$dj, 219, 117, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$Create_Auf = GUICtrlCreateButton("Ordner erstellen", 247, 112, 85, 23, 0x0040)
GUICtrlSetTip(-1, "Wie links die Nummern eingegeben, werden im Auftrags-Ordner die neuen Ordner erstellt.")
$Jump2OrdAuf12 = GUICtrlCreateButton("10", 340, 112, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zur Kontrolle den AUFTRAGS-Ordner "& @YEAR &" öffnen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0)
GUISetState()
Global $hReturnDummy = GUICtrlCreateDummy()
GUICtrlSetOnEvent($hReturnDummy, "_Enter")
Global $Accels[1][2] = [["{ENTER}", $hReturnDummy]]
GUISetAccelerators($Accels)
GUIRegisterMsg($WM_COMMAND, "_WM_COMMAND")
;~ GUICtrlSetState($Input4, $GUI_FOCUS)
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
ExitLoop
Case $Jump1
_go1()
Case $Jump1a
ShellExecute($OrdAngAlt, "", "", "open")
Case $Jump2
_go2()
Case $Jump2a
ShellExecute($OrdAltlj, "", "", "open")
Case $Jump3
_go3()
Case $Jump3a
ShellExecute($OrdAng12, "", "", "open")
Case $Jump4
_go4()
Case $Jump4a
ShellExecute($OrdJahrdj, "", "", "open")
Case $Create_Ang
Local $ReadAngVon = GUICtrlRead($InputAngVon)
Local $ReadAngBis = GUICtrlRead($InputAngBis)
Local $LenAngVon = StringLen($ReadAngVon)
Local $LenAngBis = StringLen($ReadAngBis)
If ($LenAngVon < 4) Or ($LenAngBis < 4) Then
MsgBox(48, "Falsche Eingabe...", "Bitte 4 Zahlen eingeben!", 3)
Else
For $AngEingZahl = $ReadAngVon To $ReadAngBis
$AngOrdnerNum = $OrdAng12 & "01-" & StringFormat("%04d", $AngEingZahl) & "-" & $dj
If FileExists($AngOrdnerNum) Then
MsgBox(262192, "Fehler!", "Die Datei " & $AngOrdnerNum & " existiert schon!" & @CRLF & @CRLF _
& "Bitte die nächsthöhere Ordnerzahl angeben!")
ExitLoop
Else
DirCreate($AngOrdnerNum)
EndIf
Next
EndIf
Case $Create_Auf
Local $ReadAufVon = GUICtrlRead($InputAufVon)
Local $ReadAufBis = GUICtrlRead($InputAufBis)
Local $LenAufVon = StringLen($ReadAufVon)
Local $LenAufBis = StringLen($ReadAufBis)
If ($LenAufVon < 4) Or ($LenAufBis < 4) Then
MsgBox(48, "Falsche Eingabe...", "Bitte 4 Zahlen eingeben!", 3)
Else
For $AufEingZahl = GUICtrlRead($InputAufVon) To GUICtrlRead($InputAufBis)
$AufOrdnerNum = $OrdAuf12 & "02-" & StringFormat("%04d", $AufEingZahl) & "-" & $dj
If FileExists($AufOrdnerNum) Then
MsgBox(262192, "Fehler!", "Die Datei " & $AufOrdnerNum & " existiert schon!" & @CRLF & @CRLF _
& "Bitte die nächsthöhere Ordnerzahl angeben!")
ExitLoop
Else
DirCreate($AufOrdnerNum)
EndIf
Next
EndIf
Case $Jump2OrdAng12
ShellExecute($OrdAng12, "", "", "open")
If WinWaitActive("ANGEBOT " & @YEAR) Then
Send("{END}")
EndIf
Case $Jump2OrdAuf12
ShellExecute($OrdAuf12, "", "", "open")
If WinWaitActive("AUFTRAG " & @YEAR) Then
Send("{END}")
EndIf
Case $hReturnDummy
_Enter()
EndSwitch
WEnd
Func _Enter()
Switch $hSendFocus
Case $Input1
_go1()
_GUICtrlEdit_SetSel($Input1, 0, 4)
Case $Input2
_go2()
_GUICtrlEdit_SetSel($Input2, 0, 4)
Case $Input3
_go3()
_GUICtrlEdit_SetSel($Input3, 0, 4)
Case $Input4
_go4()
_GUICtrlEdit_SetSel($Input4, 0, 4)
EndSwitch
EndFunc ;==>_Enter
Func _go1()
If Not FileExists($OrdAngAlt & '01-' & GUICtrlRead($Input1) & "-"&$lj) Then
MsgBox(64, $m1, $m2, 2)
Else
ShellExecute('01-' & GUICtrlRead($Input1) & "-"&$lj, "", $OrdAngAlt, "open")
EndIf
EndFunc ;==>_go1
Func _go2()
If Not FileExists($OrdAufAlt & '02-' & GUICtrlRead($Input2) & "-"&$lj) Then
If MsgBox(262212, $m1, $m2 & @CRLF & @CRLF & $m2a) = 7 Then
Else
If Not FileExists($OrdAltlj & '02-' & GUICtrlRead($Input2) & "-"&$lj) Then
MsgBox(64, $m1, $m3, 2)
Else
ShellExecute('02-' & GUICtrlRead($Input2) & "-"&$lj, "", $OrdAltlj, "open")
EndIf
EndIf
Else
ShellExecute('02-' & GUICtrlRead($Input2) & "-"&$lj, "", $OrdAufAlt, "open")
EndIf
EndFunc ;==>_go2
Func _go3()
If Not FileExists($OrdAng12 & '01-' & GUICtrlRead($Input3) & "-"&$dj) Then
MsgBox(64, $m1, $m2, 2)
Else
ShellExecute('01-' & GUICtrlRead($Input3) & "-"&$dj, "", $OrdAng12, "open")
EndIf
EndFunc ;==>_go3
Func _go4()
If Not FileExists($OrdAuf12 & '02-' & GUICtrlRead($Input4) & "-"&$dj) Then
If MsgBox(262212, $m1, $m2 & @CRLF & @CRLF & $m2a) = 7 Then
Else
If Not FileExists($OrdJahrdj & '02-' & GUICtrlRead($Input4) & "-"&$dj) Then
MsgBox(64, $m1, $m3, 2)
Else
ShellExecute('02-' & GUICtrlRead($Input4) & "-"&$dj, "", $OrdJahrdj, "open")
EndIf
EndIf
Else
ShellExecute('02-' & GUICtrlRead($Input4) & "-"&$dj, "", $OrdAuf12, "open")
EndIf
EndFunc ;==>_go4
Func _WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
Local $hWndFrom = $ilParam
Local $iCode = _WinAPI_HiWord($iwParam)
Local $hWndEdit1 = GUICtrlGetHandle($Input1)
Local $hWndEdit2 = GUICtrlGetHandle($Input2)
Local $hWndEdit3 = GUICtrlGetHandle($Input3)
Local $hWndEdit4 = GUICtrlGetHandle($Input4)
Switch $hWndFrom
Case $hWndEdit1, $hWndEdit2, $hWndEdit3, $hWndEdit4;
Switch $iCode
Case $EN_SETFOCUS
Switch $hWndFrom
Case $hWndEdit1
$hSendFocus = $Input1
Case $hWndEdit2
$hSendFocus = $Input2
Case $hWndEdit3
$hSendFocus = $Input3
Case $hWndEdit4
$hSendFocus = $Input4
EndSwitch
Case Else
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>_WM_COMMAND