win installations easy selber bauen

  • ich hab eine kleine tool gebaut (achtung ist nicht ma betaversion^^)
    damit kann man relativ leich eine automatiche installation errzeugen.
    man brauch nur autoitconverter und win infotool
    momentan kan man noch nicht compilren die datei wird in eine test.txt auf den desktop gespeichert.
    wen einer mal lust hatt kan er sich ja mal den text anschauhen und bisle kritik üben.
    und bitte macht mir meine 4 stunden arbeit nicht kaputt indem ihr mir sag es ist totaler rotz oder da gibst was besseres.
    das auslesen der id mit den win infotool nervig hat einer ne alternative

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>

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

    Opt('MustDeclareVars', 0)

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

    ;buttonevents
    Global $buttonneueseite,$buttonbutton,$buttoncheckbox,$buttontext,$buttonpfad,$buttonfertig,$buttonnew
    ;counter
    global $Tab,$counter,$file,$path,$id,$text
    ;input
    Global $framename,$dateiname,$titel,$inputid,$inputtext

    Local $defaultstatus, $status, $filemenu, $helpmenu, $saveitem
    Local $fileitemsave,$fileitemopen,$fileitemcompile,$fileitemnew
    Local $infoitem, $exititem, $recentfilesmenu, $separator1, $viewmenu,$compilemenu
    Local $viewstatusitem, $okbutton, $cancelbutton, $statuslabel, $msg, $file

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

    Example()
    HotKeySet("a","new")
    Func Example()


    GUICreate("AutoIT Win install creator by Nils Zenker@cbs.mpg", 500, 460)

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

    Global $defaultstatus = "Ready"
    Global $status

    ;filemenue
    $filemenu = GUICtrlCreateMenu("&File")
    $fileitemnew = GUICtrlCreateMenuItem("New", $filemenu)
    GUICtrlSetState(-1, $GUI_DEFBUTTON)
    $fileitemopen = GUICtrlCreateMenuItem("Open", $filemenu)


    ;co,pile menue
    $fileitemcompile = GUICtrlCreateMenuItem("Compile", $compilemenu)

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


    $helpmenu = GUICtrlCreateMenu("?")

    $saveitem = GUICtrlCreateMenuItem("Save", $filemenu)
    GUICtrlSetState(-1, $GUI_Disable)
    $infoitem = GUICtrlCreateMenuItem("Info", $helpmenu)
    $exititem = GUICtrlCreateMenuItem("Exit", $filemenu)
    $recentfilesmenu = GUICtrlCreateMenu("Recent Files", $filemenu, 1)

    $separator1 = GUICtrlCreateMenuItem("", $filemenu, 2) ; create a separator line

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

    $viewmenu = GUICtrlCreateMenu("View", -1, 1) ; is created before "?" menu
    $viewstatusitem = GUICtrlCreateMenuItem("Statusbar", $viewmenu)

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

    $statuslabel = GUICtrlCreateLabel($defaultstatus, 0, 400, 500, 80, BitOR($SS_SIMPLE, $SS_SUNKEN))

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

    GUISetState()
    While 1
    $msg = GUIGetMsg()

    If $msg = $fileitemopen Then
    $file = FileOpenDialog("Choose file...", @TempDir, "All (*.*)")
    If @error <> 1 Then GUICtrlCreateMenuItem($file, $recentfilesmenu)
    EndIf

    If $msg = $fileitemnew Then
    new()
    EndIf

    If $msg = $viewstatusitem Then
    If BitAND(GUICtrlRead($viewstatusitem), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($viewstatusitem, $GUI_UNCHECKED)
    GUICtrlSetState($statuslabel, $GUI_HIDE)
    Else
    GUICtrlSetState($viewstatusitem, $GUI_CHECKED)
    GUICtrlSetState($statuslabel, $GUI_SHOW)
    EndIf
    EndIf
    If $msg = $GUI_EVENT_CLOSE Or $msg = $exititem Then ende()
    If $msg = $infoitem Then MsgBox(0, "Info", "Die kommt noch^^")
    WEnd
    GUIDelete()
    EndFunc ;==>Example

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

    Func new()
    GUICtrlSetState($saveitem, $GUI_enable)

    $dateiname=InputBox("Neues Projekt","Wie wollen sie ihr neues Projekt nennen?")
    $path = FileOpenDialog("Choose file...", @TempDir, "All (*.exe)")
    $file = FileOpen("test.txt", 1)

    ;vlt ein gui einfügen
    FileWriteLine($file,'main()')
    FileWriteLine($file,'func main()')
    FileWriteLine($file,'Run("' & $path & '")')

    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlCreateGroup("Neue Aktion hinzufügen",5,6,250,180)
    $buttonneueseite=GUICtrlCreateButton("Seite bennen", 15, 30, 100, 20)
    GUICtrlSetState($buttonneueseite,$GUI_disable)

    $buttonnew=GUICtrlCreateButton("Neue Seite", 130, 30, 100, 20)
    GUICtrlSetState(-1, $GUI_FOCUS)
    $buttonbutton=GUICtrlCreateButton("Button drücken", 15, 70, 100, 20)
    $buttoncheckbox=GUICtrlCreateButton("Checkbox betätigen",130,70,100,20)
    $buttontext=GUICtrlCreateButton("Text senden", 15, 94, 100, 20)
    $buttonpfad=GUICtrlCreateButton("Pfad auswählen",130,94,100,20)
    $buttonfertig=GUICtrlCreateButton("Fertigstellen",15,150,100,20)


    ;Eigenschaften eintragen
    GUICtrlCreateGroup("Information über das Objekt",260,6,230,180)
    GUICtrlCreateLabel("Name des Frames",275, 30, 100, 20)
    $framename=GUICtrlCreateInput("",275, 50, 150, 20)
    GUICtrlSetState($framename,$GUI_Disable)
    GUICtrlCreateLabel("ID des Objektes",275, 80, 100, 20)
    $inputid=GUICtrlCreateInput("",275, 100, 150, 20)

    GUICtrlCreateLabel("Text senden",275, 130, 100, 20)
    $inputtext=GUICtrlCreateInput("",275, 150, 150, 20)

    ;Durchgeführte Aktion
    GUICtrlCreateGroup("Aktion des Objektes",260,190,230,200)

    GUICtrlCreateInput("",275, 150, 150, 20)

    ;Vorhandene Objekte
    $tab=GUICtrlCreateTab(10,210,240,170)

    GUICtrlCreateGroup("Objekt",6,190,250,200)
    GUICtrlSetState($buttonbutton,$GUI_disable)
    GUICtrlSetState($buttontext,$GUI_disable)
    GUICtrlSetState($buttoncheckbox,$GUI_disable)
    GUICtrlSetState($buttonpfad,$GUI_disable)
    $counter=1

    Main()

    EndFunc

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

    Func Main()

    While 1

    $msg = GUIGetMsg()

    if $msg=$saveitem then
    $path = FileSelectFolder("Choose a folder.", "")
    MsgBox(0,"",$path)
    EndIf

    if $msg=$buttonnew then
    GUICtrlSetState($buttonneueseite,$GUI_enable)
    GUICtrlSetState($framename,$GUI_enable)
    endif

    If $msg = $buttonneueseite Then
    GUICtrlSetState($buttonneueseite,$GUI_disable)
    GUICtrlSetState($buttonbutton,$GUI_enable)
    GUICtrlSetState($buttontext,$GUI_enable)
    GUICtrlSetState($buttoncheckbox,$GUI_enable)
    GUICtrlSetState($buttonpfad,$GUI_enable)
    $titel=GUICtrlRead($framename)
    GUICtrlSetData($inputid,"")
    GUICtrlSetData($framename,"")
    FileWriteLine($file,'WinWaitActive("' & $titel & '")' )
    $tab1 = GUICtrlCreateTabItem("Seite" & $counter)
    GUICtrlSetState($framename,$GUI_Disable)
    $counter+=1
    endif

    if $msg=$buttonbutton then
    $id=GUICtrlRead($inputid)
    FileWriteLine($file,'Sleep(2000)')
    FileWriteLine($file,'ControlClick("' & $titel & '","",' & $id & ')')
    GUICtrlSetData($inputid,"")
    endif

    if $msg=$buttontext then
    $text=GUICtrlRead($inputtext)
    $id=GUICtrlRead($inputid)
    FileWriteLine($file,'ControlSend("' & $titel & '","",' & $id & ',"' & $text & '")')
    GUICtrlSetData($inputid,"")
    GUICtrlSetData($inputtext,"")
    EndIf

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


    If $msg = $GUI_EVENT_CLOSE Or $msg = $exititem Then
    ende()
    EndIf

    If $msg = $GUI_EVENT_CLOSE Then
    ende()
    endif

    if $msg=$buttonfertig Then
    FileWriteLine($file,'endfunc')
    EndIf

    wend
    EndFunc

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

    Func ende()
    Exit
    endfunc

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

    func _iniread()
    EndFunc

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

    ;to au3 exportieren
    ;FileCopy("C:\Dokumente und Einstellungen\user\Desktop\test.txt", "D:\ $dateiname .au3", 8)

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

    ;compile shellexeccut
    ;Aut2exe.exe /in D:\juhu.au3 /out D:super.exe

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