Shellexecute und _FileListToArray Problem

  • Moin,

    ich habe mal ein wenig mit ShellExecute und *.lnk rumgespielt ...

    Also, ich habe zwei Registryeinträge, die da wären:

    Code
    Windows Registry Editor Version 5.00
    
    
    [HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\In Ordner verschieben]
    @="{C2FBB631-2971-11D1-A18C-00C04FD75D13}"
    [HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\In Ordner kopieren]
    @="{C2FBB630-2971-11D1-A18C-00C04FD75D13}"

    Wenn ich nun ein *.lnk File mit ShellExecute ausführe erscheint erst der 'In Ordner verschieben'-Dialog und dann der 'In Ordner kopieren'-Dialog bevor das eigentliche Ziel der Verknüpfung ausgeführt wird. *verwundert-bin*
    Entferne ich die beiden Schlüssel geht's auf Anhieb. Komisch ... *Kopfkratz*

    Es könnte also tatsächlich an AutoIt liegen !

    Probiert es mal aus !

    Es wäre Interessant zu wissen auf was deine Verknüpfung zeigt um deine Drucker zu Installieren.
    Ist es ein Script, eine ausführbare Datei (*.exe, *.dll, etc.) oder was ist das Ziel der Verknüpfung.

    Laut deiner Fehlermeldung - wo auch immer die Zeile 199 sein mag, bei 135 Zeilen Code - sind falsche bzw. keine Parameter angegeben.

    Zeige uns doch bitte mal Screenshots von dem Ordner mit den beiden Dateien und von den Eigenschaftsfenstern der beiden Dateien.


    Gruß
    Greenhorn


    3 Mal editiert, zuletzt von Greenhorn (1. November 2007 um 03:07)

    • Offizieller Beitrag

    Hast du schon mal Druckerinstallation über WMI versucht?

    Spoiler anzeigen
    [autoit]

    $strComputer = "."
    $objWMIService = ObjGet("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2")
    $objPrinter = $objWMIService.Get("Win32_Printer").SpawnInstance_
    $objPrinter.DriverName = "HP LaserJet 4000 Series PS"
    $objPrinter.PortName = "IP_169.254.110.160"
    $objPrinter.DeviceID = "ScriptedPrinter"
    $objPrinter.Location = "USA/Redmond/Building 37/Room 114"
    $objPrinter.Network = True
    $objPrinter.Shared = True
    $objPrinter.ShareName = "ScriptedPrinter"
    $objPrinter.Put_

    [/autoit]
  • Das würde wohl nichts daran ändern dass ich irgendwo etwas auslesen muss.
    Das ist der relevante code zum auslesen der Dateinamen:

    Spoiler anzeigen
    [autoit]

    $linkname = _FileListToArray("\\blabla\bla", '*.lnk' , 1);soll die dateien im ordner ausgeben
    For $i = 1 To $linkname[0]
    $cl = StringInStr ($linkname[$i]," ",1,-1);sucht " " von rechts
    $cl2 = StringTrimRight ($linkname[$i],$cl +3);entfernt rechts zeichen bis und mit " "
    $srv = StringInStr ($linkname[$i]," ",1,1);sucht " " von links
    $srv2 = StringTrimleft ($linkname[$i],$srv +3);entfernt links zeichen bis und mit " "
    $srv3 = StringTrimRight ($srv2,4);entfernt.lnk

    [/autoit]

    Der Dateiname ist z.B. Printer001 an Server002
    Blau = cl2
    Rot = srv3
    Was muss ich ändern, damit es nicht zu viel abschneided, bei längeren Namen?

    mfg
    Manu

    Ps: Die Ordnerstruktur:

  • Ich habs geschafft.
    Ein Problem habe ich noch:
    Die Buttons verschwinden manchmal unter dem Bild.
    Wie kann ich sie immer über dem Bild anzeigen lassen?

    mfg Manu

    Edit: Anscheinend noch ein Bug, da niemand die Lösung weiss...

    3 Mal editiert, zuletzt von ManuIt (2. November 2007 um 16:50)

  • Was sollte das disablen denn bringen?
    Das Problem Tritt prötzlich nicht mehr auf, seit ich das Gui erweitert habe... ?(
    Mindestens das erste war wohl ein Bug.
    Das muss ich ja sagen, weil jeder denkt ich hab einen Fehler im Script oder so.

    Zitat

    was man nicht selbst lösen kann


    Ja ich konnte es nicht lösen, weil AutoIt nichts mit den .lnk Dateien anfangen konnte!

    Das Problem mit den Buttons kann durchaus daran gelegen haben das ichs komisch programmiert habe.

    mfg

    Manu

  • Hallo zusammen!

    Das ist mein aktuelles script.
    Ich habe folgende Probleme:
    1. Die Buttons werden nur angezeigt, wenn sie markiert werden. ( sie werden vom Bild überdeckt.)
    2. Die Buttons reagieren beim anklicken nicht.(Mit Enter gehts.)


    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    #include <GUIConstants.au3>
    #include <File.au3>
    #Include <Array.au3>
    #include <String.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Dim $msgn
    Dim $n
    Dim $ort
    Dim $Array
    Dim $GuiOG
    Dim $input1

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;##############> GUIAUSWAHL <##############
    Opt("GUIOnEventMode", 1)
    $SGui = GUICreate("Drucker", "200", "100")
    GUISetOnEvent($GUI_EVENT_CLOSE, "Exit2")
    GUICtrlCreateButton("Einfach", "30", "50")
    GUICtrlSetOnEvent(-1, "Basic")
    GUICtrlCreateButton("Erweitert", "80", "50")
    GUICtrlSetOnEvent(-1, "Advanced")
    GUICtrlCreateButton("Löschen", "130", "50")
    GUICtrlSetOnEvent(-1, "Delete")
    GUISetState(@SW_SHOW, $SGui)
    If $SGui = "Advance" Then
    $Adv = 1
    Else
    $Adv = 2
    EndIf

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;##############> GUI1 - Obergeschosse Auswahl <##############
    Opt("GUICloseOnESC", 1)
    Opt("GUIOnEventMode", 1)
    $Gui1 = GUICreate("Stockwerk", "701", "661")
    GUISetOnEvent($GUI_EVENT_CLOSE, "Exit2")
    GUICtrlCreatePic(@ScriptDir & "\System\TEST2.bmp", "5", "5", "691", "631")
    GUICtrlCreateButton("Obergeschoss 1", "50", "50")
    GUICtrlSetOnEvent(-1, "Og1")
    GUICtrlCreateButton("Obergeschoss 2", "50", "150")
    GUICtrlSetOnEvent(-1, "Og2")
    GUICtrlCreateButton("Obergeschoss 3", "50", "250")
    GUICtrlSetOnEvent(-1, "Og3")
    GUICtrlCreateButton("Obergeschoss 4", "50", "350")
    GUICtrlSetOnEvent(-1, "Og4")
    GUICtrlCreateButton("Obergeschoss 5", "50", "450")
    GUICtrlSetOnEvent(-1, "Og5")
    GUICtrlCreateButton("Obergeschoss 6", "50", "550")
    GUICtrlSetOnEvent(-1, "Og6")
    $TEST1 = GUICtrlCreateButton("TEST1", "150", "290")
    GUICtrlSetOnEvent(-1, "TEST1")
    GUICtrlSetState(-1, $GUI_DISABLE)
    $TEST2 = GUICtrlCreateButton("TEST2", "384", "465")
    GUICtrlSetOnEvent(-1, "TEST2")
    GUICtrlSetState(-1, $GUI_DISABLE)
    $TEST3 = GUICtrlCreateButton("TEST3", "220", "470")
    GUICtrlSetOnEvent(-1, "TEST3")
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Exit = GUICtrlCreateMenu("Beenden")
    GUICtrlCreateMenuitem("Exit", $Exit)
    GUICtrlSetOnEvent(-1, "ExitMenu")

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(100)
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;####################################- OBERGESCHOSSE -###########################################
    Func Og1()
    $msgn = "ers"
    $n = "1"
    GUICtrlCreatePic(@ScriptDir & "\System\TEST.bmp", "5", "5", "691", "631")
    GUICtrlSetState($TEST1 And $TEST2 And $TEST3, $GUI_ENABLE)
    EndFunc ;==>Og1

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func Og2()
    $msgn = "zwei"
    $n = "2"
    GUICtrlCreatePic(@ScriptDir & "\System\TEST.bmp", "5", "5", "691", "631")
    GUICtrlSetState($TEST2, $GUI_ENABLE)
    EndFunc ;==>Og2

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func Og3()
    $msgn = "drit"
    $n = "3"
    GUICtrlCreatePic(@ScriptDir & "\System\TEST.bmp", "5", "5", "691", "631")
    GUICtrlSetState($TEST1, $GUI_ENABLE)
    EndFunc ;==>Og3

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func Og4()
    $msgn = "vier"
    $n = "4"
    GUICtrlCreatePic(@ScriptDir & "\System\TEST.bmp", "5", "5", "691", "631")
    GUICtrlSetState($TEST1, $GUI_ENABLE)
    EndFunc ;==>Og4

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func Og5()
    $msgn = "fünf"
    $n = "5"
    GUICtrlCreatePic(@ScriptDir & "\System\TEST.bmp", "5", "5", "691", "631")
    GUICtrlSetState($TEST1, $GUI_ENABLE)
    EndFunc ;==>Og5

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func Og6()
    $msgn = "sechs"
    $n = "6"
    GUICtrlCreatePic(@ScriptDir & "\System\TEST.bmp", "5", "5", "691", "631")
    GUICtrlSetState($TEST1, $GUI_ENABLE)
    EndFunc ;==>Og6
    ;###################################- Ende OBERGESCHOSSE -#######################################

    [/autoit] [autoit][/autoit] [autoit]

    Func TEST1()
    $ort = "TEST1"
    $linkname = _FileListToArray("\\TEST4\TEST5\Group\Public\Printers\" & $n & "Obergeschoss\" & $ort, '*.lnk', 1);soll die dateien im ordner ausgeben
    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)
    EndIf
    Next
    #cs
    RunWait("rundll32 printui.dll,PrintUIEntry /in /n \\" & $srv3 & "\" & $pr2 & " /y")
    $msg = MsgBox(4, "Drucker", "Die Drucker im " & $msgn & "ten Stock an der " & $ort & " wurden eingerichtet. " & @CRLF & "Weitere Drucker einrichten?")
    If $msg = 6 Then
    Sleep(200)
    Else
    Exit
    EndIf
    #ce

    [/autoit] [autoit][/autoit] [autoit]

    ;############# AUSWAHL DRUCKER #############
    Opt("GUIOnEventMode", 1)
    Opt("GUICloseOnESC", 1)
    $GuiA = GUICreate("Advanced", 312, 335, 193, 115)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Exit2")
    $anzahl = _FileListToArray("\\TEST4\TEST5\Group\Public\Printers\" & $n & "Obergeschoss\" & $ort, '*.lnk', 1)
    $List = GUICtrlCreateListView(" Drucker | Server ", 20, 48, 264, 215)
    For $i = 1 To $anzahl[0]
    $pr = StringInStr($anzahl[$i], " ", 1)
    $prLen = StringLen($anzahl[$i])
    $pr3 = $prLen - $pr
    $pr2 = StringTrimRight($anzahl[$i], $pr3)
    $srv = StringInStr($anzahl[$i], " ", 1, 1)
    $srv2 = StringTrimLeft($anzahl[$i], $srv)
    GUICtrlCreateListViewItem($pr2 & "|" & $srv3, $List)
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)
    Next
    Sleep(100)
    GUISetState(@SW_SHOW)
    $input1 = GUICtrlCreateInput("", 20, 270, 164, 20)
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)
    If $Adv = 2 Then
    $buttoninst2 = GUICtrlCreateButton("Festlegen", 150, 290, 60, 20)
    GUICtrlSetOnEvent(-1, "buttoninst2")
    Else
    $buttoninst = GUICtrlCreateButton("Installieren", 150, 290, 60, 20)
    GUICtrlSetOnEvent(-1, "buttoninst")
    EndIf
    Next

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc ;==>TEST1

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func TEST2()
    $ort = "TEST2"
    $linkname = _FileListToArray("\\TEST4\TEST5\Group\Public\Printers\" & $n & "Obergeschoss\" & $ort, '*.lnk', 1);soll die dateien im ordner ausgeben
    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)
    EndIf
    Next
    #cs
    RunWait("rundll32 printui.dll,PrintUIEntry /in /n \\" & $srv3 & "\" & $pr2 & " /y")
    $msg = MsgBox(4, "Drucker", "Die Drucker im " & $msgn & "ten Stock an der " & $ort & " wurden eingerichtet. " & @CRLF & "Weitere Drucker einrichten?")
    If $msg = 6 Then
    Sleep(200)
    Else
    Exit
    EndIf
    #ce

    [/autoit] [autoit][/autoit] [autoit]

    ;############# AUSWAHL DRUCKER #############
    Opt("GUIOnEventMode", 1)
    Opt("GUICloseOnESC", 1)
    $GuiA = GUICreate("Advanced", 312, 335, 193, 115)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Exit2")
    $anzahl = _FileListToArray("\\TEST4\TEST5\Group\Public\Printers\" & $n & "Obergeschoss\" & $ort, '*.lnk', 1)
    $List = GUICtrlCreateListView(" Drucker | Server ", 20, 48, 264, 215)
    For $i = 1 To $anzahl[0]
    $pr = StringInStr($anzahl[$i], " ", 1)
    $prLen = StringLen($anzahl[$i])
    $pr3 = $prLen - $pr
    $pr2 = StringTrimRight($anzahl[$i], $pr3)
    $srv = StringInStr($anzahl[$i], " ", 1, 1)
    $srv2 = StringTrimLeft($anzahl[$i], $srv)
    GUICtrlCreateListViewItem($pr2 & "|" & $srv3, $List)
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)
    Next
    Sleep(100)
    GUISetState(@SW_SHOW)
    $input1 = GUICtrlCreateInput("", 20, 270, 164, 20)
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)
    If $Adv = 2 Then
    $buttoninst2 = GUICtrlCreateButton("Festlegen", 150, 290, 60, 20)
    GUICtrlSetOnEvent(-1, "buttoninst2")
    Else
    $buttoninst = GUICtrlCreateButton("Installieren", 150, 290, 60, 20)
    GUICtrlSetOnEvent(-1, "buttoninst")
    EndIf
    EndFunc ;==>TEST2

    [/autoit] [autoit][/autoit] [autoit]

    Func TEST3()
    $ort = "TEST3"
    $linkname = _FileListToArray("\\TEST4\TEST5\Group\Public\Printers\" & $n & "Obergeschoss\" & $ort, '*.lnk', 1);soll die dateien im ordner ausgeben
    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)
    EndIf
    Next
    #cs
    RunWait("rundll32 printui.dll,PrintUIEntry /in /n \\" & $srv3 & "\" & $pr2 & " /y")
    $msg = MsgBox(4, "Drucker", "Die Drucker im " & $msgn & "ten Stock an der " & $ort & " wurden eingerichtet. " & @CRLF & "Weitere Drucker einrichten?")
    If $msg = 6 Then
    Sleep(200)
    Else
    Exit
    EndIf
    #ce

    [/autoit] [autoit][/autoit] [autoit]

    ;############# AUSWAHL DRUCKER #############
    Opt("GUIOnEventMode", 1)
    Opt("GUICloseOnESC", 1)
    $GuiA = GUICreate("Advanced", 312, 335, 193, 115)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Exit2")
    $anzahl = _FileListToArray("\\TEST4\TEST5\Group\Public\Printers\" & $n & "Obergeschoss\" & $ort, '*.lnk', 1)
    $List = GUICtrlCreateListView(" Drucker | Server ", 20, 48, 264, 215)
    For $i = 1 To $anzahl[0]
    $pr = StringInStr($anzahl[$i], " ", 1)
    $prLen = StringLen($anzahl[$i])
    $pr3 = $prLen - $pr
    $pr2 = StringTrimRight($anzahl[$i], $pr3)
    $srv = StringInStr($anzahl[$i], " ", 1, 1)
    $srv2 = StringTrimLeft($anzahl[$i], $srv)
    GUICtrlCreateListViewItem($pr2 & "|" & $srv3, $List)
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)
    Next
    Sleep(100)
    GUISetState(@SW_SHOW)
    $input1 = GUICtrlCreateInput("", 20, 270, 164, 20)
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)
    If $Adv = 2 Then
    $buttoninst2 = GUICtrlCreateButton("Festlegen", 150, 290, 60, 20)
    GUICtrlSetOnEvent(-1, "buttoninst2")
    Else
    $buttoninst = GUICtrlCreateButton("Installieren", 150, 290, 60, 20)
    GUICtrlSetOnEvent(-1, "buttoninst")
    EndIf
    EndFunc ;==>TEST3

    [/autoit] [autoit][/autoit] [autoit]

    Func buttoninst()
    $UserInput = GUICtrlRead($input1)
    $nr1 = StringInStr($UserInput, "|", 1)
    $nr1len = StringLen($UserInput)
    $nr2 = $nr1len - $nr1
    $nr3 = StringTrimRight($UserInput, $nr2+2)
    $Unr1 = StringInStr($UserInput, "|", 1, 1)
    $Unr2 = StringTrimLeft($UserInput, $Unr1)
    RunWait("rundll32 printui.dll,PrintUIEntry /in /n \\" & $Unr2 & "\" & $nr3)
    MsgBox (0,"","RunWait(rundll32 printui.dll,PrintUIEntry /in /n \\" & $Unr2 & "\" & $nr3)
    EndFunc ;==>buttoninst

    [/autoit] [autoit][/autoit] [autoit]

    Func buttoninst2()
    $UserInput = GUICtrlRead($input1)
    $nr1 = StringInStr($UserInput, "|", 1)
    $nr1len = StringLen($UserInput)
    $nr2 = $nr1len - $nr1
    $nr3 = StringTrimRight($UserInput, $nr2)
    $Unr1 = StringInStr($UserInput, "|", 1, 1)
    $Unr2 = StringTrimLeft($UserInput, $Unr1)
    RunWait("rundll32 printui.dll,PrintUIEntry /in /n \\" & $Unr2 & "\" & $nr3 & " /y")
    EndFunc ;==>buttoninst2

    [/autoit] [autoit][/autoit] [autoit]

    Func ExitMenu()
    Exit
    EndFunc ;==>ExitMenu

    [/autoit] [autoit][/autoit] [autoit]

    Func back()
    GUISetState(@SW_HIDE, $GuiOG)
    GUISetState(@SW_SHOW, $Gui1)
    EndFunc ;==>back

    [/autoit] [autoit][/autoit] [autoit]

    Func Exit2()
    Exit
    EndFunc ;==>Exit2

    [/autoit] [autoit][/autoit] [autoit]

    Func Basic()
    $Adv = 2
    GUISetState(@SW_HIDE, $SGui)
    GUISetState(@SW_SHOW, $Gui1)
    EndFunc ;==>Basic

    [/autoit] [autoit][/autoit] [autoit]

    Func Delete()
    RunWait("\\TEST4\software\Admin_Tools\Microsoft\Diverse\Printing\con2prt /f")
    EndFunc ;==>Basic

    [/autoit] [autoit][/autoit] [autoit]

    Func Advanced()
    $Adv = 1
    GUISetState(@SW_HIDE, $SGui)
    GUISetState(@SW_SHOW, $Gui1)
    EndFunc ;==>Advanced

    [/autoit]

    Ich würde mich sehr über Verbesserungsvorschläge freuen.

    Mit freundlichen Grüssen
    Manu


    Edit: Wenn mir schon niemand sagen kann, woran es liegt, könnte mir dann wenigstens jemand ein Beispiel zeigen, wie man einen Button richtig auf ein Gui mit hintergrungbild tut?

    Edit2:
    Ich bekomm das ganze mit dem Switch nicht hin.
    die Buttons funktionieren nicht?
    Finded jemand den Fehler?
    Liest überhaupt noch i-wer meine Beiträge?

    Spoiler anzeigen
    [autoit]

    Func main2()
    GUISetState(@SW_HIDE, $SGui)
    $Gui1 = GUICreate("Stockwerk", "701", "661")
    GUICtrlCreatePic(@ScriptDir & "\System\bild2.bmp", "5", "5", "691", "631")
    $og1 = GUICtrlCreateButton("Obergeschoss 1", "50", "50")
    GUICtrlSetOnEvent($og1, "Obergeschosse")
    $og2 = GUICtrlCreateButton("Obergeschoss 2", "50", "150")
    GUICtrlSetOnEvent($og2, "Obergeschosse")
    $og3 = GUICtrlCreateButton("Obergeschoss 3", "50", "250")
    GUICtrlSetOnEvent($og3, "Obergeschosse")
    $og4 = GUICtrlCreateButton("Obergeschoss 4", "50", "350")
    GUICtrlSetOnEvent($og4, "Obergeschosse")
    $og5 = GUICtrlCreateButton("Obergeschoss 5", "50", "450")
    GUICtrlSetOnEvent($og5, "Obergeschosse")
    $og6 = GUICtrlCreateButton("Obergeschoss 6", "50", "550")
    GUICtrlSetOnEvent($og6, "Obergeschosse")
    $ort1 = GUICtrlCreateButton("ort1", "150", "290")
    GUICtrlSetOnEvent($ort1, "ort1")
    GUICtrlSetState($ort1, $GUI_DISABLE)
    $ort3 = GUICtrlCreateButton("ort3", "384", "465")
    GUICtrlSetOnEvent($ort3, "ort3")
    GUICtrlSetState($ort3, $GUI_DISABLE)
    $ort2 = GUICtrlCreateButton("ort2", "220", "470")
    GUICtrlSetOnEvent($ort2, "ort2")
    GUICtrlSetState($ort2, $GUI_DISABLE)
    $Exit = GUICtrlCreateMenu("Beenden")
    GUICtrlCreateMenuitem("Exit", $Exit)
    GUICtrlSetOnEvent(-1, "ExitMenu")
    GUISetOnEvent($GUI_EVENT_CLOSE, "Exit2")
    GUISetState(@SW_SHOW, $Gui1)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(100)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func Obergeschosse()
    $Gui1 = GUIGetMsg()
    Switch $Gui1
    Case $og1
    $msgn = "ers"
    $n = "1"
    GUICtrlCreatePic(@ScriptDir & "\System\bild1", "5", "5", "691", "631")
    GUICtrlSetState($og1 And $og2 And $og3 And $og4 And $og5 And $og6, $GUI_DISABLE)
    GUICtrlSetState($ort1 And $ort3, $GUI_ENABLE)
    Case $og2
    $msgn = "zwei"
    $n = "2"
    GUICtrlCreatePic(@ScriptDir & "\System\bild1.bmp", "5", "5", "691", "631")
    GUICtrlSetState($og1 And $og2 And $og3 And $og4 And $og5 And $og6, $GUI_DISABLE)
    GUICtrlSetState($ort1 And $ort2 And $ort3, $GUI_ENABLE)
    EndSwitch
    EndFunc

    [/autoit]

    3 Mal editiert, zuletzt von ManuIt (14. November 2007 um 12:18)