Hallo!
Script:
Spoiler anzeigen
#include
#include
#Include
#include
Dim $Automatisch
Dim $Basic
Dim $Advanced
Dim $Delete
Dim $ButtonGui
Dim $obg1
Dim $obg2
Dim $obg3
Dim $obg4
Dim $obg5
Dim $obg6
Dim $Button
Dim $msgn
Dim $n
Dim $ort
Dim $Array
Dim $GuiOG
Dim $input1
Dim $og1, $og2, $og3, $og4, $og5, $og6
Dim $place1
Dim $place3
Dim $place2
Dim $Adv
Dim $SGui
Dim $og
Dim $pic111
Dim $printer
Dim $server
Dim $Gui1
Dim $pr2
Dim $srv3
Dim $gui_check_1, $gui_check_2, $gui_check_3, $gui_check_4, $gui_check_5, $gui_check_6, $gui_check_7, $gui_check_8, $gui_check_9
Dim $linkname
Dim $read
Dim $title
$an = "am"
Dim $namebutton
Dim $z
Dim $place1GUI, $place2GUI, $place3GUI
Create()
[/autoit] [autoit][/autoit] [autoit]While 1
Sleep(100)
WEnd
Func Create()
$SGui = GUICreate("Drucker", "320", "100")
GUICtrlCreateLabel("Wie möchten Sie die Drucker installieren?", 10, 20)
$Automatisch = GUICtrlCreateButton("Automatisch", "5", "55", "75")
GUICtrlSetTip(-1, "Mit dieser Funktion werden alle Drucker in der Nähe installiert.", "Automatisch einrichten")
$Basic = GUICtrlCreateButton("Nach Standort", "85", "55", "75")
GUICtrlSetTip(-1, "Mit dieser Funktion können sie ihren Standort angeben." & @CRLF & "Danach werden alle umliegenden Drucker installiert.", "Nach Standort einrichten")
$Advanced = GUICtrlCreateButton("Einzeln", "165", "55", "75")
GUICtrlSetTip(-1, "Mit dieser Funktion können sie Drucker einzeln installieren." & @CRLF & "Dazu müssen Sie den Namen des Druckers wissen.", "Einzeln einrichten")
$Delete = GUICtrlCreateButton("Löschen", "245", "55", "75")
GUICtrlSetTip(-1, "Mit dieser Funktion können sie Drucker löschen." & @CRLF & "Wenn Sie nicht alle löschen wollen," & @CRLF & "müssen Sie den Namen des Druckers wissen.", "Löschen")
GUICtrlCreatePic(@ScriptDir & "\System\printer.bmp", "250", "0", "67", "56", $WS_CLIPSIBLINGS)
$Gui1 = GUICreate("Standort", "670", "881")
[/autoit] [autoit][/autoit] [autoit]$og6 = GUICreate("Obergeschoss 6", 124, 32, 430, 780, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $Gui1)
$obg6 = GUICtrlCreatePic(@ScriptDir & "\System\GlossyRoundButton.gif", 0, 0, 0, 0)
$og5 = GUICreate("Obergeschoss 5", 124, 32, 280, 780, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $Gui1)
$obg5 = GUICtrlCreatePic(@ScriptDir & "\System\GlossyRoundButton.gif", 0, 0, 0, 0)
$og4 = GUICreate("Obergeschoss 4", 124, 32, 130, 780, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $Gui1)
$obg4 = GUICtrlCreatePic(@ScriptDir & "\System\GlossyRoundButton.gif", 0, 0, 0, 0)
$og3 = GUICreate("Obergeschoss 3", 124, 32, 430, 830, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $Gui1)
$obg3 = GUICtrlCreatePic(@ScriptDir & "\System\GlossyRoundButton.gif", 0, 0, 0, 0)
$og2 = GUICreate("Obergeschoss 2", 124, 32, 280, 830, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $Gui1)
$obg2 = GUICtrlCreatePic(@ScriptDir & "\System\GlossyRoundButton.gif", 0, 0, 0, 0)
$og1 = GUICreate("Obergeschoss 1", 124, 32, 130, 830, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $Gui1)
$obg1 = GUICtrlCreatePic(@ScriptDir & "\System\GlossyRoundButton.gif", 0, 0, 0, 0)
$ButtonGui = GUICreate("back", 57, 53, 600, 10, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $Gui1)
$Button = GUICtrlCreatePic(@ScriptDir & "\System\back.gif", 0, 0, 0, 0)
$place1GUI = GUICreate("place1", 219, 266, 77, 237, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $Gui1)
$place1 = GUICtrlCreatePic(@ScriptDir & "\System\red.gif", 0, 0, 0, 0)
$place2GUI = GUICreate("place2", 217, 314, 155, 435, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $Gui1)
$place2 = GUICtrlCreatePic(@ScriptDir & "\System\blue.gif", 0, 0, 0, 0)
$place3GUI = GUICreate("place3", 359, 230, 288, 525, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $Gui1)
$place3 = GUICtrlCreatePic(@ScriptDir & "\System\yellow.gif", 0, 0, 0, 0)
main()
EndFunc ;==>Create
Func main()
GUISetState(@SW_SHOW, $SGui)
While 1
$Msg = GUIGetMsg()
Switch $Msg
Case $Automatisch
Automatisch()
Case $Basic
Basic()
Case $Advanced
Advanced()
Case $Delete
Delete()
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
If $SGui = "Advance" Then
$Adv = 1
Else
$Adv = 2
EndIf
EndFunc ;==>main
Func main2()
[/autoit] [autoit][/autoit] [autoit]GUISetState(@SW_HIDE, $SGui)
GUISetState(@SW_SHOW, $og6)
GUISetState(@SW_SHOW, $og5)
GUISetState(@SW_SHOW, $og4)
GUISetState(@SW_SHOW, $og3)
GUISetState(@SW_SHOW, $og2)
GUISetState(@SW_SHOW, $og1)
GUISetState(@SW_SHOW, $ButtonGui)
GUISetState(@SW_SHOW, $Gui1)
$pic111 = GUICtrlCreatePic(@ScriptDir & "\System\Background12345678.bmp", "5", "5", "660", "881", $WS_CLIPSIBLINGS)
[/autoit] [autoit][/autoit] [autoit]WinActivate('Standort', '')
[/autoit] [autoit][/autoit] [autoit]While 1
$Msg = GUIGetMsg(1)
Select
Case $Msg[0] = $obg1
GUISetState(@SW_SHOW, $place1GUI)
GUISetState(@SW_SHOW, $place2GUI)
GUISetState(@SW_SHOW, $place3GUI)
$msgn = "ers"
$n = "1"
Dis()
While 1
$Msg = GUIGetMsg(1)
Select
Case $Msg[0] = $place1
$ort = "place1"
Ort2()
Case $Msg[0] = $place2
$ort = "place2"
$an = "an der"
Ort2()
Case $Msg[0] = $Button
$z = 2
back()
WinActivate('Standort', '')
Case $Msg[0] = $GUI_EVENT_CLOSE
Exit
EndSelect
WEnd
Case $Msg[0] = $obg2
GUISetState(@SW_SHOW, $place1GUI)
GUISetState(@SW_SHOW, $place2GUI)
GUISetState(@SW_SHOW, $place3GUI)
$msgn = "zwei"
$n = "2"
Dis()
While 1
$Msg = GUIGetMsg(1)
Select
Case $Msg[0] = $place1
$ort = "place1"
Ort2()
Case $Msg[0] = $place2
$ort = "place2"
$an = "an der"
Ort2()
Case $Msg[0] = $Button
$z = 2
back()
WinActivate('Standort', '')
Case $Msg[0] = $GUI_EVENT_CLOSE
Exit
EndSelect
WEnd
Case $Msg[0] = $obg3
GUISetState(@SW_SHOW, $place1GUI)
GUISetState(@SW_SHOW, $place2GUI)
GUISetState(@SW_SHOW, $place3GUI)
$msgn = "drit"
$n = "3"
Dis()
While 1
$Msg = GUIGetMsg(1)
Select
Case $Msg[0] = $place1
$ort = "place1"
Ort2()
Case $Msg[0] = $place2
$ort = "place2"
$an = "an der"
Ort2()
Case $Msg[0] = $Button
$z = 2
back()
WinActivate('Standort', '')
Case $Msg[0] = $GUI_EVENT_CLOSE
Exit
EndSelect
WEnd
Case $Msg[0] = $obg4
GUISetState(@SW_SHOW, $place1GUI)
GUISetState(@SW_SHOW, $place2GUI)
GUISetState(@SW_SHOW, $place3GUI)
$msgn = "vier"
$n = "4"
Dis()
While 1
$Msg = GUIGetMsg(1)
Select
Case $Msg[0] = $place1
$ort = "place1"
Ort2()
Case $Msg[0] = $place2
$ort = "place2"
$an = "an der"
Ort2()
Case $Msg[0] = $Button
$z = 2
back()
WinActivate('Standort', '')
Case $Msg[0] = $GUI_EVENT_CLOSE
Exit
EndSelect
WEnd
Case $Msg[0] = $obg5
GUISetState(@SW_SHOW, $place1GUI)
GUISetState(@SW_SHOW, $place2GUI)
GUISetState(@SW_SHOW, $place3GUI)
$msgn = "fünf"
$n = "5"
Dis()
GUICtrlSetState($place3, $GUI_ENABLE)
GUICtrlSetState($place2, $GUI_ENABLE)
GUICtrlSetState($place1, $GUI_ENABLE)
While 1
$Msg = GUIGetMsg(1)
Select
Case $Msg[0] = $place1
$ort = "place1"
Ort2()
Case $Msg[0] = $place2
$ort = "place2"
$an = "an der"
Ort2()
Case $Msg[0] = $Button
$z = 2
back()
WinActivate('Standort', '')
Case $Msg[0] = $GUI_EVENT_CLOSE
Exit
EndSelect
WEnd
Case $Msg[0] = $obg6
[/autoit] [autoit][/autoit] [autoit]GUISetState(@SW_SHOW, $place1GUI)
GUISetState(@SW_SHOW, $place2GUI)
GUISetState(@SW_SHOW, $place3GUI)
$msgn = "sechs"
$n = "6"
Dis()
While 1
$Msg = GUIGetMsg(1)
Select
Case $Msg[0] = $place1
$ort = "place1"
Ort2()
Case $Msg[0] = $place2
$ort = "place2"
$an = "an der"
Ort2()
Case $Msg[0] = $Button
$z = 2
back()
WinActivate('Standort', '')
Case $Msg[0] = $GUI_EVENT_CLOSE
Exit
EndSelect
WEnd
Case $Msg[0] = $ButtonGui
back()
WinActivate('Standort', '')
Case $Msg[0] = $GUI_EVENT_CLOSE
Exit
EndSelect
WEnd
EndFunc ;==>main2
Func Ort2()
If $Adv = 2 Then
$linkname = _FileListToArray("\\server\swroot\Group\Public\Printers\zh\" & $n & "Obergeschoss\" & $ort, '*.lnk', 1)
If Not IsArray($linkname) Then
MsgBox(16, "Error", "An diesem Ort sind keine Drucker vorhanden. -->" & $ort)
EndIf
For $i = 1 To $linkname[0]
$pr = StringInStr($linkname[$i], " ", 1)
$prLen = StringLen($linkname[$i])
$pr3 = $prLen - $pr
$pr2 = StringTrimRight($linkname[$i], $pr3)
$srv = StringInStr($linkname[$i], " ", 1, 1)
$srv2 = StringTrimLeft($linkname[$i], $srv + 3)
$srv3 = StringTrimRight($srv2, 4)
If $Adv = 2 Then
RunWait("rundll32 printui.dll,PrintUIEntry /in /n \\" & $srv3 & "\" & $pr2)
$Msg = MsgBox(4, "Drucker", "Die Drucker im " & $msgn & "ten Stock " & $an & " " & $ort & " wurden eingerichtet. " & @CRLF & "Weitere Drucker einrichten?")
If $Msg = 6 Then
Sleep(200)
main2()
Else
Einzeln()
EndIf
EndIf
Next
Sleep(100)
If $Msg = 6 Then
Sleep(100)
Else
Exit
EndIf
Else
Einzeln()
EndIf
EndFunc ;==>Ort2
Func Einzeln()
GUISetState(@SW_HIDE, $Button)
GUISetState(@SW_HIDE, $Gui1)
$Check = GUICreate($title, "670", "881")
If $Adv = 1 Then
GUICtrlCreatePic(@ScriptDir & "\System\check.bmp", "597", "550", "101", "89", $WS_CLIPSIBLINGS)
Else
GUICtrlCreatePic(@ScriptDir & "\System\check2.bmp", "597", "550", "101", "89", $WS_CLIPSIBLINGS)
EndIf
GUICtrlCreateLabel("Name u.s.w.", 25, 10)
Opt("GUICloseOnESC", 1)
$linkname = _FileListToArray("\\server\swroot\Group\Public\Printers\zh\" & $n & "Obergeschoss\" & $ort, '*.lnk', 1)
MsgBox(0, "bla", $linkname)
Dim $gui_check_[$linkname[0] + 1]
For $i = 1 To $linkname[0]
$pr = StringInStr($linkname[$i], " ", 1)
$prLen = StringLen($linkname[$i])
$pr3 = $prLen - $pr
$pr2 = StringTrimRight($linkname[$i], $pr3)
$srv = StringInStr($linkname[$i], " ", 1, 1)
$srv2 = StringTrimLeft($linkname[$i], $srv + 3)
$srv3 = StringTrimRight($srv2, 4)
If $Adv = 1 Then
$gui_check_[$i] = GUICtrlCreateCheckbox($pr2, 10, 20 + $i * 20, 680, 20)
Else
$gui_check_[$i] = GUICtrlCreateRadio($pr2, 10, 20 + $i * 20, 680, 20)
EndIf
Next
$buttoninst = GUICtrlCreateButton($namebutton, 135, 350)
$Button = GUICreate("back", 57, 53, 600, 10, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $Check)
GUICtrlCreatePic(@ScriptDir & "\System\back.bmp", 0, 0, 0, 0)
GUISetState(@SW_SHOW, $Button)
GUISetState(@SW_SHOW, $Check)
WinActivate($title, '')
While 1
$Msg = GUIGetMsg()
Switch $Msg
Case $GUI_EVENT_CLOSE
Exit
Case $buttoninst
For $i = 1 To $linkname[0]
Switch $i
Case GUICtrlRead($gui_check_[$i]) = $GUI_CHECKED
$pr = StringInStr($linkname[$i], " ", 1)
$prLen = StringLen($linkname[$i])
$pr3 = $prLen - $pr
$pr2 = StringTrimRight($linkname[$i], $pr3)
$srv = StringInStr($linkname[$i], " ", 1, 1)
$srv2 = StringTrimLeft($linkname[$i], $srv + 3)
$srv3 = StringTrimRight($srv2, 4)
RunWait("rundll32 printui.dll,PrintUIEntry /in /n \\" & $srv3 & "\" & $pr2)
standard()
EndSwitch
Next
EndSwitch
If WinActive('back', '') Then
GUISetState(@SW_HIDE, $Button)
GUISetState(@SW_HIDE, $Check)
main2()
MsgBox(0, '', 'Hi!')
WinActivate('Standort', '')
EndIf
WEnd
EndFunc ;==>Einzeln
Func Basic()
$Adv = 2
$title = "Standarddrucker einrichten"
$namebutton = "Als Standard einrichten"
main2()
EndFunc ;==>Basic
Func Delete()
$Del = GUICreate("Löschen?", 300, 100)
GUISetState(@SW_HIDE, $SGui)
GUISetState(@SW_SHOW, $Del)
$Del = GUICtrlCreateLabel("Dieser Vorgang löscht alle ihre" & @CRLF & "Netzwerkdrucker. Wollen sie fortsetzen?", 10, 10)
GUICtrlCreatePic(@ScriptDir & "\System\Delete.bmp", "208", "0", "92", "97", $WS_CLIPSIBLINGS)
$ok = GUICtrlCreateButton("Ok", 50, 60, 60)
$no = GUICtrlCreateButton("Nein", 150, 60, 60)
While 1
$Msg = GUIGetMsg()
Switch $Msg
Case $ok
RunWait("\\server\software\Admin_Tools\Microsoft\Diverse\Printing\con2prt /f")
Exit
Case $no
Exit
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
EndFunc ;==>Delete
Func standard()
If $Adv = 2 Then
RunWait("rundll32 printui.dll,PrintUIEntry /in /n \\" & $srv3 & "\" & $pr2 & "/y")
EndIf
EndFunc ;==>standard
Func Advanced()
$Adv = 1
$title = "Einzeln einrichten"
$namebutton = "Installieren"
main2()
EndFunc ;==>Advanced
Func Automatisch()
MsgBox(0, "Automatic", "Automatisch")
EndFunc ;==>Automatisch
Func IsChecked($control)
Return BitAND(GUICtrlRead($control), $GUI_CHECKED) = $GUI_CHECKED
EndFunc ;==>IsChecked
Func Dis()
GUICtrlSetState($og1, $GUI_DISABLE)
GUICtrlSetState($og2, $GUI_DISABLE)
GUICtrlSetState($og3, $GUI_DISABLE)
GUICtrlSetState($og4, $GUI_DISABLE)
GUICtrlSetState($og5, $GUI_DISABLE)
GUICtrlSetState($og6, $GUI_DISABLE)
EndFunc ;==>Dis
Func back()
GUISetState(@SW_HIDE, $Gui1)
If $z = 2 Then
main2()
Else
GUISetState(@SW_HIDE, $Button)
GUISetState(@SW_HIDE, $og1)
GUISetState(@SW_HIDE, $og2)
GUISetState(@SW_HIDE, $og3)
GUISetState(@SW_HIDE, $og4)
GUISetState(@SW_HIDE, $og5)
GUISetState(@SW_HIDE, $og6)
GUISetState(@SW_HIDE, $place1GUI)
GUISetState(@SW_HIDE, $place2GUI)
GUISetState(@SW_HIDE, $place3GUI)
main()
EndIf
EndFunc ;==>back
Problem:
Das GUI "$place1" hat einen grauen hintergrund, anstatt transparent zu sein.
Und das, obwohl ich auch ein transparentes .gif und den selben code wie bei den anderen buttons verwendet habe...
auswahl.jpg
Hoffentlich könnt ihr mir helfen
mfg
Manu
Edit BugFix: Spoiler gesetzt!!!