1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. casi4712

Beiträge von casi4712

  • Buttons klickbar machen

    • casi4712
    • 26. Januar 2022 um 18:13

    So hallo noch mal,

    recht herzlichen Dank SOLVE, ich werde mir das gleich noch mal anschauen. Ich weiss trotzdem nich wieso das in diesen Foren immer mit so einer Schärfe ablaufen muss. Ich bin in keinster Weise nicht bereit dazu Ratschläge anzunehmen, Wozu wäre ich dann hier? Ich weiss gar nicht wieso dieser Eindruck entstanden ist. Vielleicht hatte ich einfach nur gedacht AutoIt ist relativ schnell mal nebenbei zu erlenen, dass war aber wohl ein Trugschluss. Dass heisst aber keinesfalls, dass ich AutoIt oder eure Ratschläge nicht wertschätze. Aber wieso sollte ich nicht hinterfagen dürfen, auch wenn ich bzgl, AutoIT noch am Anfang stehe.

    Immerhin hatte ich das Hauptproblem als aboluter AutoIt Depp ja selbst gelöst, es lag an der Position des Hintergrundbildes, was die Buttons inaktiv machte..;)

    Zitat von Musashi

    Es ist zweifelsfrei von Vorteil, sich eine neue Sprache anhand einer Aufgabenstellung anzueignen. Das befreit einen aber nicht davon, sich selbst mit den Grundlagen auseinanderzusetzen.

    Man stürzt sich als Ski-Anfänger ja auch nicht, "quasi Top Down" vom Matterhorn, zumindest darf man nicht erwarten, in einem Stück unten anzukommen ^^ .

    Ja da hast Du sicher Recht, aber ich halte diesen Vergleich schon ein bischen für sehr weit hergeholt, ich mache hier lediglich ein Startertool für diverse externe Scripte, mir ein paar Systemvariablen-Anzeigen. So was hatte ich in Batch oder PS in ein paar Minuten erledigt, allerdings ohne komfortable GUI;)

    So dann schau ich erst mal

    und noch mal vielen Dank

    schönen Abend noch

    lg

  • Buttons klickbar machen

    • casi4712
    • 25. Januar 2022 um 18:40

    Zunächst einmal recht herzlichen Dank für eure Hilfe. Ich motze nicht, ich finde AutoIT eine absolut geniale Scriptsprache, sonst würde ich es nicht verwenden. Ich hinterfrage nur, weil ich neugierig bin, ich finde das nicht schlimm. Das ist meine Art zu lernen, ich vergleich dabei natürlich immer auch andere Sprachen mit denen ich bisher etwas zu tun hatte um Parallelen zu finden. Nun wird der einie oder ander jetzt verständlicher weise sagen, der Depp soll erst mal die Basics von AutoIt lernen, alla Hello Script und dann soll er weiter sehen. Ich bin aber eher der Typ der von einer konkreten Aufgabenstellung ausgehend, quasi Top Down sich eine Spreache erarbeitet, anders wird es für mich schnell langweilig. Mag sein dass die meisten das anders angehen, bei mir ist das halt so.

    Das Script hatte ich nun schon einige Male gepostet, Es läuft von der GUI jetzt wie es soll. Hatte es nicht erneut gepostet, um mir nicht wieder anhören zu müssen, dass es jetzt sehr groß wäre, und letzlich keiner mehr durch blickt. Aber ich kann es gerne noch mal machen.

    Mein Problem ist hier lediglich noch die Art der Variablendeklaration innerhalnb von Autoit. Der generelle Vorteil von Funktionen sollte ja die Wiederverwertbar keit sein, also aus meiner Sicht. So wäre es sehr schön, in einem Label halt durch Parameterangabe MSSQL, XXZ Dienst, dieses dort angeben zu können, das habe ich leider hier noch nicht hinbekommen. Im Wesentlichen brauch ich für mein Warungsscript auch nicht mehr, das die meisten Aufrufe PS/Batch Aufrufe sind. Diese werde ich zu gegebener Zeit gerne mit rübernehmen, aber im Moment ist das so ok. Also bleibt die Abfrage von Diensten, und die Funktionen hier doppelt reinzunehmen ist ja wohl nicht im Sinne des Erfinders.

    Zum anderen wäre eine Aktualisierung der veränderlichen Labels wünschenswert, aber da habe ich, nach dem was ich in anderen Foren gelesen hatte, wenig Hoffnung.

    HIer noch mal das DraftScript, die Interessierten

    Mein spezieller Dank auch noch mal an Mombas, für die sachliche und themenbezogene Hilfestellung, so was ist tatsächlich selten in IT Foren!

    AutoIt
    #include-once
    #include 'Service.au3'
    #include <GDIPlus.au3>
    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <WinApi.au3>
    #include <String.au3>
    #include "GUIBkImage.au3"
    #include <GuiCtrlSetOnHover_UDF.au3>
    FileInstall("C:\Users\Rickl\Pictures\DSC04006.jpg", "C:\Windows\Temp\hg.jpg", 1)
    
    
    Global $BeepFile = 'C:\Windows\Temp\beep.wav'
    Global $RBOX_EVENT_CLOSE = 1
    Global $ROUNDES = 20, $LastHwnd = 0
    Global $GUIBKCOLOR = 0xEEC591
    Global $ARRAY_COLOR_TOP_MIN[3] = [36 ,65 ,142] , $ARRAY_COLOR_TOP_MAX[3] = [11 ,42 ,122]
    Global $PCName = @ComputerName
    Global $sFilePath = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion", "ProgramFilesDir")
    Global $AugVers = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{92000000-2021-0000-0000-415547494153}", "DisplayVersion")
    Global $WinBuild = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "CurrentBuild")
    Global $WinDisplayVers = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "DisplayVersion")
    Global $WinName = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "ProductName")
    Global  $sTaskName = '_07_DataCollect'
    
    
    
    Local $hGui = RBoxCreate("LAC WartungsTool Beta",840,600)
    GUICtrlCreateLabel("CUSTOMIZING" & _StringRepeat(" ", 185) & "Local SQL-Server: " & _SQL(), 10, 35, 980, 20)
      GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
       GUICtrlSetFont(-1, 9, 800) ; bold
       
       GUICtrlCreateLabel($PCName, 610, 290, 980, 30)
          GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
          GUICtrlSetFont(-1, 19, 800) ; bold   
    
    GUICtrlCreateLabel($WinBuild, 610, 330, 980, 20)
          GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
         GUICtrlSetFont(-1, 9, 800) ; bold
    
    GUICtrlCreateLabel($WinDisplayVers, 610, 350, 980, 20)
          GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
         GUICtrlSetFont(-1, 9, 800) ; bold    
         
    GUICtrlCreateLabel($AugVers, 610, 370, 980, 20)
          GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
         GUICtrlSetFont(-1, 9, 800) ; bold     
    
    GUICtrlCreateLabel($WinName, 610, 390, 980, 30)
          GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
         GUICtrlSetFont(-1, 9, 800) ; bold     
    
    
    GUICtrlCreateLabel(" Web-Server                : " & _Webserver(), 643, 50, 980, 20)
         GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
         GUICtrlSetFont(-1, 9, 800) ; bold
    
    
    
    Global $idButton_1 = GUICtrlCreateButton("Customize PC", 10, 55, 100, 20)
      GUICtrlSetTip( -1, "Standard Image an Benutzer anpassen")
    Global $idButton_2 = GUICtrlCreateButton("Image-Prepare", 130, 55, 100, 20)
      GUICtrlSetTip( -1, "Vorinstallaierte Windows Version anpassen -> Image")
    Global $idButton_3 = GUICtrlCreateButton("DL aktualisieren", 250, 55, 100, 20)
    Global $idButton_4 = GUICtrlCreateButton("RegSettings", 370, 55, 100, 20)
    Global $idButton_5 = GUICtrlCreateButton("TEST", 490, 55, 85, 20)
    Global $idButton_11 = GUICtrlCreateButton("Standard Software", 10, 135, 100, 20)
    Global $idButton_12 = GUICtrlCreateButton("Aufgaben", 130, 135, 100, 20)
    Global $idButton_13 = GUICtrlCreateButton("Standard Proxies", 250, 135, 100, 20)
    Global $idButton_14 = GUICtrlCreateButton("WinUpd Reset", 370, 135, 100, 20)
    Global $idButton_15 = GUICtrlCreateButton("UPDATES", 490, 135, 100, 20)
    Global $idButton_16 = GUICtrlCreateButton("Office registrieren", 610, 135, 100, 20)
    Global $idButton_17 = GUICtrlCreateButton("Office Kill", 730, 135, 100, 20)
    Global $idButton_18 = GUICtrlCreateButton("Domäne out/in", 10, 160, 100, 20)
    Global $idButton_19 = GUICtrlCreateButton("APPS reparieren", 130, 160, 100, 20)
    Global $idButton_20 = GUICtrlCreateButton("", 250, 160, 100, 20)
    Global $idButton_21 = GUICtrlCreateButton("", 370, 160, 100, 20)
    Global $idButton_22 = GUICtrlCreateButton("", 490, 160, 100, 20)
    Global $idButton_23 = GUICtrlCreateButton("", 610, 160, 100, 20)
    Global $idButton_24 = GUICtrlCreateButton("", 730, 160, 100, 20)
    Global $idButton_32 = GUICtrlCreateButton("ggg", 10, 185, 100, 20)
    Global $idButton_33 = GUICtrlCreateButton("", 130, 185, 100, 20)
    Global $idButton_34 = GUICtrlCreateButton("", 250, 185, 100, 20)
    Global $idButton_35 = GUICtrlCreateButton("", 370, 185, 100, 20)
    Global $idButton_36 = GUICtrlCreateButton("gfgf", 490, 185, 100, 20)
    Global $idButton_37 = GUICtrlCreateButton("VB ON temp", 610, 185, 100, 20)
    Global $idButton_38 = GUICtrlCreateButton("VB OFF", 730, 185, 100, 20)
    Global $idButton_39 = GUICtrlCreateButton("PC-CLEAN", 10, 240, 100, 20)
    Global $idButton_40 = GUICtrlCreateButton("Win bereinigen", 130, 240, 100, 20)
    Global $idButton_41 = GUICtrlCreateButton("Geräte Check", 250, 240, 100, 20)
    Global $idButton_44 = GUICtrlCreateButton("", 610, 240, 100, 20)
    Global $idButton_45 = GUICtrlCreateButton("", 730, 240, 100, 20)
    Global $idButton_46 = GUICtrlCreateButton("Win RESET!", 10, 265, 100, 20)
    Global $idButton_47 = GUICtrlCreateButton("Win Update Ass.", 130, 265, 100, 20)
    Global $idButton_48 = GUICtrlCreateButton("", 250, 265, 100, 20)
    Global $idButton_51 = GUICtrlCreateButton("MKLINK EPIC", 610, 265, 100, 20)
    Global $idButton_52 = GUICtrlCreateButton("", 730, 265, 100, 20)
    Global $idButton_53 = GUICtrlCreateButton("PC-List long", 490, 340, 100, 20)
    Global $idButton_54 = GUICtrlCreateButton("PC-List short", 490, 365, 100, 20)
    Global $idButton_55 = GUICtrlCreateButton("Inventar Liste", 490, 390, 100, 20)
    Global $idButton_56 = GUICtrlCreateButton("Inventarisieren", 490, 315, 100, 20)
    
    ;GUICtrlCreatePic('C:\Windows\Temp\hg.jpg', 0, 25, 920, 660)
    
        GUICtrlCreateLabel("Einzelmodule", 10, 115, 780, 20)
        GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
        GUICtrlSetFont(-1, 9, 900) ; bold
        GUICtrlCreateLabel("System-Wartung und Checks", 10, 220, 780, 20)
        GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
        GUICtrlSetFont(-1, 9, 900) ; bold
        GUICtrlCreateLabel("Datenbank", 10, 420, 780, 20)
        GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
        GUICtrlSetFont(-1, 9, 900) ; bold
       
       
       
    While True
    CheckX($hGui,$RBOX_EVENT_CLOSE,"GuiCtrlSetColor("&$RBOX_EVENT_CLOSE&",0xA3A3A3)","GuiCtrlSetColor("&$RBOX_EVENT_CLOSE&",0x555555)")
    $gMsg = GUIGetMsg()
    Switch $gMsg
    
     Case $GUI_EVENT_CLOSE, $RBOX_EVENT_CLOSE
      GUIDelete($hGUI)
                Exit
    
               Case $idButton_1
                $iPID = Run("C:\Users\Administrator\Downloads\PC-Einrichtung\PCSETTING_listv2.cmd", "", 10)
    
            Case $idButton_2
                $iPID = Run("C:\Users\Administrator\Downloads\CustomCOPY.bat", "", 10)
    
            Case $idButton_3
                MsgBox(0, "", 3)
    
            Case $idButton_4
                     $filename = "C:\Program Files\Notepad++\notepad++.exe"
                      if FileExists($filename) Then
                         $prog = ShellExecute("C:\Program Files\Notepad++\notepad++.exe","C:\Windows\start\RegWerte_setzen.reg","","open",@SW_SHOW)
                     Else
                        ;$prog = ShellExecute("C:\Windows\start\RegWerte_setzen.reg","","open",@SW_SHOW)
                        $prog = ShellExecute('notepad.exe', 'C:\Windows\start\RegWerte_setzen.reg')
                    EndIf
    
            Case $idButton_5
               $iPID = SoundPlay($BeepFile)
    
            Case $idButton_11
              RunWait(@ComSpec & " /c " & "C:\Users\Administrator\Downloads\PC-Einrichtung\AddedApps.cmd")
              ;  $iPID = Run("C:\Users\Administrator\Downloads\PC-Einrichtung\AddedApps.cmd", "", 10)
                 SoundPlay($BeepFile)
    
            Case $idButton_12
            $iPID = RunWait(Run(@ComSpec & " /c " & "C:\Users\Administrator\Downloads\CreateTasks.cmd"))
              ;RunWait(@ComSpec & " /c " & "C:\Users\Administrator\Downloads\CreateTasks.cmd")
              ;  $iPID = Run("C:\Users\Administrator\Downloads\PC-Einrichtung\AddedApps.cmd", "", 10)
                 SoundPlay($BeepFile)
    
            Case $idButton_13
            $iPID = RunWait(Run(@ComSpec & " /c " & "C:\Users\Administrator\Downloads\ETC\ProxyStandard.cmd"))
            ;  RunWait(@ComSpec & " /c " & "C:\Users\Administrator\Downloads\ETC\ProxyStandard.cmd")
                        SoundPlay($BeepFile)
    
            Case $idButton_14
              RunWait(@ComSpec & " /c " & "C:\Users\Administrator\Downloads\TestTOOLS\WuReset.bat")
              ;  $iPID = Run("C:\Users\Administrator\Downloads\PC-Einrichtung\AddedApps.cmd", "", 10)
                 SoundPlay($BeepFile)
    
            Case $idButton_15
              RunWait(@ComSpec & " /c " & "C:\Users\Administrator\Downloads\PC-Einrichtung\WinUpd.cmd")
              ;  $iPID = Run("C:\Users\Administrator\Downloads\PC-Einrichtung\AddedApps.cmd", "", 10)
                 SoundPlay($BeepFile)
    
            Case $idButton_16
              RunWait(@ComSpec & " /c " & "C:\Users\Administrator\Downloads\ETC\OfficeRegister.cmd    ")
              ;  $iPID = Run("C:\Users\Administrator\Downloads\PC-Einrichtung\AddedApps.cmd", "", 10)
                 SoundPlay($BeepFile)
    
            Case $idButton_17
              RunWait(@ComSpec & " /c " & "C:\Users\Administrator\Downloads\PC-Einrichtung\Soft\officeKill.cmd", "", 10)
                 SoundPlay($BeepFile)
    
            Case $idButton_19
              RunWait(@ComSpec & " /c " & "C:\Users\Administrator\Downloads\PC-Einrichtung\TOOLS\TOOLS\AppsRepair.bat", "", 10)
                 SoundPlay($BeepFile)
    
            Case $idButton_39
            $iPID = Run(@ComSpec & " /c " & "C:\Users\Administrator\Downloads\Ordner_leeren.cmd")
              ;RunWait(@ComSpec & " /c " & "C:\Users\Administrator\Downloads\Ordner_leeren.cmd")
                    ; SoundPlay($BeepFile)
    
            Case $idButton_40
             GUICtrlSetTip( -1, "Standard Image an Benutzer anpassen")
              RunWait(@ComSpec & " /c " & "C:\Users\Administrator\Downloads\Datentraegerbereinigung\Dtclean.bat")
                      $iPID = SoundPlay($BeepFile)
    
            Case $idButton_41
              RunWait(@ComSpec & " /c " & "C:\Users\Administrator\Downloads\PC-Einrichtung\TestGeraete.cmd")
              _SQL()
              ;MsgBox(0,"", "Es existiert eine Variable mit dem Namen: " & $st ) ;<= hier soll der name der variable stehen, nicht der wert
                      $iPID = SoundPlay($BeepFile)
    
            Case $idButton_47
            ;ShellExecute("C:\Users\Administrator\Downloads\Windows10Upgrade9252.exe")
              RunWait("C:\Users\Administrator\Downloads\Windows10Upgrade9252.exe")
                      $iPID = SoundPlay($BeepFile)
                   FileDelete ( "C:\Users\Riegert\Desktop\Windows 10-Update-Assistent.lnk" )
    
                 Case $idButton_53
             GUICtrlSetTip( -1, "Standard Image an Benutzer anpassen")
              RunWait(@ComSpec & " /c " & "V:\Austausch-Daten\Riegert\inv2\CSV-Merge10.bat")
                      $iPID = SoundPlay($BeepFile)
                    
            Case $idButton_54
             GUICtrlSetTip( -1, "Standard Image an Benutzer anpassen")
              RunWait(@ComSpec & " /c " & "V:\Austausch-Daten\Riegert\inv2\CSV-Merge_Short.bat")
                      $iPID = SoundPlay($BeepFile)
                     
            Case $idButton_55
             GUICtrlSetTip( -1, "Inventar-Liste")
               ShellExecute("\\ds1\Freigaben\Referat_5_Informationstechnologie\51_Hardware_und_Software\511_Inventare\5112_Invertarliste_Hardware\Hardware\Inventarliste Hardware.xls")                 
                    $iPID = SoundPlay($BeepFile)                 
    
            Case $idButton_56
             GUICtrlSetTip( -1, "Inventarisierungs-Script ausführen")
             Local  $sTaskName = '_07_DataCollect'
             ;RunWait("schtasks /Run /TN ' & "$sTaskName"')
            ; RunWait('schtasks.exe /Run /TN ' & $sTaskName, '', @SW_HIDE)       
                    $iPID = SoundPlay($BeepFile)    
                    
    EndSwitch
    WEnd
    
    
    
    
    
    Func RBoxCreate($Title,$width, $height ,$left=-1 ,$top=-1 ,$show=1)
    Local $GUI = GUICreate($Title,$width,$height,$left,$top,$WS_POPUP)
    GUISetBkColor($GUIBKCOLOR,$GUI)
    ;_GuiRoundCorners($GUI,0,0,$ROUNDES,$ROUNDES)
    
    $RBOX_EVENT_CLOSE = GUICtrlCreateLabel('X',$width-20,3,25,25)
    GUICtrlSetCursor($RBOX_EVENT_CLOSE,0)
    GUICtrlSetBkColor($RBOX_EVENT_CLOSE,-2)
    GUICtrlSetFont($RBOX_EVENT_CLOSE,15,800)
    GUICtrlSetColor($RBOX_EVENT_CLOSE,0x555555)
    $Title &= " "
    Local $hTitle = GUICtrlCreateLabel($Title,0,0,$width-20,26,$SS_CENTER,$GUI_WS_EX_PARENTDRAG)
    GUICtrlSetFont($hTitle,17,400,0,"Consolas")
    GUICtrlSetBkColor($hTitle,-2)
    Local $Graphic = GUICtrlCreateGraphic (0,0, $width, 25)
    GUICtrlSetState($Graphic,$Gui_DISABLE)
    ;GradientFill($Graphic, 0, 0, $width, 25, $ARRAY_COLOR_TOP_MIN, $ARRAY_COLOR_TOP_MAX)
    If $show = 1 Then GUISetState(@SW_SHOW,$GUI)
    Return $GUI
    EndFunc
    
    
    
    
    
    
    Func CheckX($hGui, $CtrlID, $sCMD, $eCMD)
    Local $cGui = GUIGetCursorInfo($hGui)
    If Not IsArray($cGui) Then Return 0
    if $LastHwnd <> $cGui[4] And $cGui[4] = $CtrlID Then Return Execute($sCMD) + Assign("LastHwnd",$cGui[4])
    if $LastHwnd <> $cGui[4] Then Return Execute($eCMD) + Assign("LastHwnd",$cGui[4])
    EndFunc
    
    
    
    Func _SQL()
    Local $st = false
    Local $FileText ;fehlt!
    Local Const $SeviceName = "SQL Server (AUGIAS)" ;name of the service to test ; Local Const fehlte
      RunWait(@ComSpec & " /c net start > c:\temp\services.txt", "", @SW_HIDE);send a list of the services that are running to a file
      ;hier würde eine Prüfung Sinn machen
      $FileText = FileRead("c:\temp\services.txt", FileGetSize("c:\temp\services.txt"));read that file
      If StringInStr($FileText, $SeviceName) Then;check for the service name
        $st = "RUNNING" ;ich würde True wählen
      Else
        $st = "OFF" ; ich würde False wählen
      EndIf
      Return $st
    EndFunc
    
    Func _Webserver()
    Local $ws ;fehlt! und ich würde es hier direkt als = False setzen!
    Local $FileText ;fehlt!
    Local Const $SeviceName = "Apache2.4"
      RunWait(@ComSpec & " /c net start > c:\temp\services.txt", "", @SW_HIDE)
      ;hier würde eine Prüfung Sinn machen
      $FileText = FileRead("c:\temp\services.txt", FileGetSize("c:\temp\services.txt"));read that file
      If StringInStr($FileText, $SeviceName) Then;check for the service name
        $st = "RUNNING" ;ich würde True wählen
      Else
        $st = "OFF" ; ich würde False wählen
      EndIf
      Return $st
    EndFunc
    
    
    ;;;;;;;;; wie am besten per parameter servicename in ein Label einbinden ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    Func Request_Service($Servicename)
        if _Service_Exists($Servicename)then
            Return Status(_Service_QueryStatus($Servicename)[1])
        else
            Return 'Service does not exist'
        endif
    endfunc
    
    Func Status($Status)
        Switch $Status
            Case 1
                $Status = 'SERVICE_STOPPED'
            Case 2
                $Status = 'SERVICE_START_PENDING'
            Case 3
                $Status = 'SERVICE_STOP_PENDING'
            Case 4
                $Status = 'SERVICE_RUNNING'
            Case 5
                $Status = 'SERVICE_CONTINUE_PENDING'
            Case 6
                $Status = 'SERVICE_PAUSE_PENDING'
            Case 7
                $Status = 'SERVICE_PAUSED'
            Case Else
                $Status = 'SERVICE_UNKNOWN_STATE'
        EndSwitch
        Return($Status)
    EndFunc
    Alles anzeigen

    Ich habe die Stelle markiert, wo meine letzte Frage fürs erste hinzielt. So jetzt könnt Ihr wieder motzen mit mir;)

    @Mombas: Mein Dienst heisst so;)

    Code
    GUICtrlCreateLabel("CUSTOMIZING" & _StringRepeat(" ", 185) & "Local SQL-Server: " & Request_Service(MSSQL), 10, 35, 980, 20)
    MSSQL ist der Dienstname


    lg und schönen Abend noch

  • Buttons klickbar machen

    • casi4712
    • 25. Januar 2022 um 09:33

    Und die Localen gelten nur innehalb einer FUnktion, denk ich mal. Das mit der UDF werde ich direkt mal ausprobieren, dann könnte man das Ding ja auch direkt für andere Services weiter verwenden, die Frage wäre nur wie das in meinem Fall, in meinem Label aufgerufen werden würde. Also nach meinem Dafürhalten müsste es so gehen:

    AutoIt
    GUICtrlCreateLabel("CUSTOMIZING" & _StringRepeat(" ", 185) & "Local SQL-Server: " & Request_Service(MSSQL), 10, 35, 980, 20)

    Tut es aber nicht.

    Eine andere Sache wäre noch die der Aktualisierung. In meinem alten räudigen Batch musste ich nur Return kloppen und, so fern sich ein Dienst aktualisiert hat, ist es aktualisiert worden. In AutoIt scheint es hierfür keine Lösung zu geben oder? Dass heisst GUI beenden und neu starten wäre angesagt?


    lg und schöne Restwoche


    Chris

  • Buttons klickbar machen

    • casi4712
    • 24. Januar 2022 um 14:29

    @Mombas: Bingo, jetzt haut es hin, das mit den 3 unterschiedlichen Variablentyopen hier, hatte ich noch nicht ganz auf den Schirm, werd ich mich noch mal genauer mit befassen, auch die Formnatierungen gewöhn ich mir an. Recht herzlichen Dank noch mal an alle


    lg


    Chris

  • Buttons klickbar machen

    • casi4712
    • 24. Januar 2022 um 10:27

    Das sollte ja auch langfristig das Ziel sein, das mit Batch embedded wäre ja auch nur ein Notnagel, aber irgendwie will er ja nicht die Variable deklarieren, ich ging wohl fäschlicherweise davon aus, dass diese in der Funktion deklariert wird. Wie muss es denn aussehen damit die Variable $st nun einen Wet annimmt. Wenn das schon so kompliziert ist einen DienstStuts anzuzeigen, wie kompliziert ist es erst einen Reg Wert entsprechend abzufragen. Das geht in Batch und PS definitif einfacher.

    Das Ziel war doch ganz einfach, ich möchte in der GUI angezeigt bekommen, ob ein entsprechender Dienst läuft oder nicht, dachte das hätte ich erwähnt.

  • Buttons klickbar machen

    • casi4712
    • 24. Januar 2022 um 09:46

    Also ich habs jetzt getestet; IST IMMER NOCH NICHT DECLARED. Ich habs jetzt mal auf das notwendigste heruntergekürzt, um die Übersichtlichkeit zu gewährleisten. Es gibt doch eine MöglichKeit via RUN und Hide einen Batchbefehl im Hintergrund laufen zu lassen, kann man von diesem keine Variable an Autoit übergeben?

    AutoIt
    ; Script Start - Add your code below here
    ;another fast hack by UEZ 2011
    #include-once
    #include <GDIPlus.au3>
    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <WinApi.au3>
    #include <String.au3>
    #include "GUIBkImage.au3"
    #include <GuiCtrlSetOnHover_UDF.au3>
    
    
    Global $RBOX_EVENT_CLOSE = 1
    Global $ROUNDES = 20, $LastHwnd = 0
    Global $GUIBKCOLOR = 0xEEC591
    Global $ARRAY_COLOR_TOP_MIN[3] = [36 ,65 ,142] , $ARRAY_COLOR_TOP_MAX[3] = [11 ,42 ,122]
    
    
    
    Local $hGui = RBoxCreate("LAX -Version 4.0 Beta",840,600)
    
    Global $idButton_1 = GUICtrlCreateButton("Customize PC", 10, 55, 100, 20)
    GUICtrlSetTip( -1, "Standard Image an Benutzer anpassen")
    
    
    ;LABELS
    _SQL()
    
    GUICtrlCreateLabel("CUSTOMIZING" & _StringRepeat(" ", 185) & "Local DB-Server: " & $st, 10, 35, 980, 20)
    
    
    
    
    
    
    
    While True
    CheckX($hGui,$RBOX_EVENT_CLOSE,"GuiCtrlSetColor("&$RBOX_EVENT_CLOSE&",0xA3A3A3)","GuiCtrlSetColor("&$RBOX_EVENT_CLOSE&",0x555555)")
    $gMsg = GUIGetMsg()
    Switch $gMsg
    
     Case $GUI_EVENT_CLOSE, $RBOX_EVENT_CLOSE
       GUIDelete($hGUI)
                Exit
    
               Case $idButton_1
                $iPID = Run("C:\Users\Administrator\Downloads\PC-Einrichtung\PCSETTING_listv2.cmd", "", 10)
    
    EndSwitch
    
    ;Checks
    _SQL()
    
    WEnd
    
    
    
    
    
    
    
    Func RBoxCreate($Title,$width, $height ,$left=-1 ,$top=-1 ,$show=1)
    Local $GUI = GUICreate($Title,$width,$height,$left,$top,$WS_POPUP)
    GUISetBkColor($GUIBKCOLOR,$GUI)
    $RBOX_EVENT_CLOSE = GUICtrlCreateLabel('X',$width-20,3,25,25)
    GUICtrlSetCursor($RBOX_EVENT_CLOSE,0)
    GUICtrlSetBkColor($RBOX_EVENT_CLOSE,-2)
    GUICtrlSetFont($RBOX_EVENT_CLOSE,15,800)
    GUICtrlSetColor($RBOX_EVENT_CLOSE,0x555555)
    $Title &= " "
    Local $hTitle = GUICtrlCreateLabel($Title,0,0,$width-20,26,$SS_CENTER,$GUI_WS_EX_PARENTDRAG)
    GUICtrlSetFont($hTitle,17,400,0,"Consolas")
    GUICtrlSetBkColor($hTitle,-2)
    Local $Graphic = GUICtrlCreateGraphic (0,0, $width, 25)
    GUICtrlSetState($Graphic,$Gui_DISABLE)
    If $show = 1 Then GUISetState(@SW_SHOW,$GUI)
    Return $GUI
    EndFunc
    
    
    
    
    Func CheckX($hGui, $CtrlID, $sCMD, $eCMD)
    Local $cGui = GUIGetCursorInfo($hGui)
    If Not IsArray($cGui) Then Return 0
    if $LastHwnd <> $cGui[4] And $cGui[4] = $CtrlID Then Return Execute($sCMD) + Assign("LastHwnd",$cGui[4])
    if $LastHwnd <> $cGui[4] Then Return Execute($eCMD) + Assign("LastHwnd",$cGui[4])
    EndFunc
    
    
    
    
    
    
    
    Func _SQL()
    Local $st ;fehlt! und ich würde es hier direkt als = False setzen!
    Local $FileText ;fehlt!
    Local Const $SeviceName = "SQL Server (AUGIAS)" ;name of the service to test ; Local Const fehlte
      RunWait(@ComSpec & " /c net start > c:\temp\services.txt", "", @SW_HIDE);send a list of the services that are running to a file
      ;hier würde eine Prüfung Sinn machen
      $FileText = FileRead("c:\temp\services.txt", FileGetSize("c:\temp\services.txt"));read that file
      If StringInStr($FileText, $SeviceName) Then;check for the service name
        $st = "RUNNING" ;ich würde True wählen
      Else
        $st = "OFF" ; ich würde False wählen
      EndIf
      Return $st
    EndFunc   ;==>_test
    Alles anzeigen

    PS: Wo istz die Syntaxeinstellung im Forum zu finden?

    lg

    Chris

  • Buttons klickbar machen

    • casi4712
    • 24. Januar 2022 um 09:33

    Also erst einmal recht herzlichen Dank für die vielen Tips. Ich ziehe mir auch super gerne alle möglichen Schuhe an, aber ich versuche hier nun auch wirklich jeden Tip in die Tat um zu setzen. Das Script habe ich in meinem Anfangspostig bereits gepostet. Aber ich findes es schon angsteinflößend, dass man zig Zeilen Code benötigt um einen Dienststatus abzufragen und in eine Variable zu stecken, ich fand am Anfang ja PS schon kompliziert. Gibt es da wirklich keine kürzeren Ansätze?

    @Mombas: Deinen Code werde ich gleich mal ausprobieren.

    lieben Dank

    Gruss

    Chris

  • Buttons klickbar machen

    • casi4712
    • 23. Januar 2022 um 23:06

    Danke noch mal,

    jo hab ich jetzt gesehen, die "

    aber auch mit

    Code
    GUICtrlCreateLabel("CUSTOMIZING" & _StringRepeat(" ", 185) & "Local DB-Server: " & $st, 10, 35, 980, 20)

    Error:Variable used without beeing declared

    Zum Mäusemelken

  • Buttons klickbar machen

    • casi4712
    • 23. Januar 2022 um 19:54

    weil ich da evtl nen Syntaxfehler drin hab? Das war ja nun genau meine Frage;)

  • Buttons klickbar machen

    • casi4712
    • 23. Januar 2022 um 15:32

    Hallo erstmal,,

    bitte nicht denken, dass ich nicht zu erst Foren rauf und runter durchsuche, bevor ich selber mir die Blöße gebe in einem Forum zu schreiben. Ich hatte schon überlegt, ob ich schreibe, dass ich das bereits gefunden hatte, das war aber nicht der Fehler. Den Fehler, und das war der eigentliche Fehler, meine vorangegangenen Versuchen hatten im Grunde auch funktioniert, war die Position von GUICtrlCreatePic('C:\Windows\Temp\hg.jpg', 0, 25, 920, 660) . Dieses habe ich jetzt an die Stelle

    Code
    .
    .
    Global $idButton_51 = GUICtrlCreateButton("", 610, 265, 100, 20)
    Global $idButton_52 = GUICtrlCreateButton("", 730, 265, 100, 20)
    
    GUICtrlCreatePic('C:\Windows\Temp\hg.jpg', 0, 25, 920, 660)
    
    ;LABELS
    GUICtrlCreateLabel("CUSTOMIZING" & _StringRepeat(" ", 185) & "Local DB-Server: &$st", 10, 35, 980, 20)
    .....

    verschoben, schon waren die Button klickbar. Das war vielleicht ne Zangengeburt, aber nun hat eine GUI auch irgendwie erst Sinn für mich.

    Aber eine Anschlussfrage habe ich dann doch noch, bin mal so frech sie gleich hier zu stellen. Ich habe am Ende, wie man sieht, eine Funktion um den Status eines Dienstes abzufragen. Es sollen dann noch weitere Variablen Anzeigen folgen. Laut der Autoit FAQs, die ich natürlich gelesen habe, sollte die Kombination String und Variable so funktionieren:

    Code
    GUICtrlCreateLabel("CUSTOMIZING" & _StringRepeat(" ", 185) & "Local DB-Server: &$st", 10, 35, 980, 20)

    Er schreibt aber nur den Text $st, das ist etwas unbefriedigend, hier soll natürlich stehen RUNNING oder OFF, was mache ich falsch?


    lg

    und schönen Sonntag noch und danke für alles

  • Buttons klickbar machen

    • casi4712
    • 22. Januar 2022 um 14:56

    Dann formulier ich die Frage mal um, hat schon mal jemand das Problem gehhabt, dass Button nicht funktionieren, wenn ein Hintergrundbild eingebunden ist?


    schönes WE

  • Buttons klickbar machen

    • casi4712
    • 22. Januar 2022 um 02:53

    Na dass ist ja jetzt ein Ding, das Script hat wohl die ganze Zeit funktioniert, aber der Hintergrund blockiert das irgend wie, wieso das passiert ist mir allerdings mehr als schleierhaft

  • Buttons klickbar machen

    • casi4712
    • 21. Januar 2022 um 20:10

    Also zunächst erst mal herzlichen Dank, habe die angepasste Vesion jetzt versucht, abber ausser dem Schliessbutton passiert bei den 5 Testbuttons gar nix, dann liegt das wohl an meinem Rechner denke ich, Schade


    lg und schönen Abend


    chris

  • Buttons klickbar machen

    • casi4712
    • 21. Januar 2022 um 16:22

    JO das mag aus Deiner Sicht ja so aussehen, aber eine solche simple GUI habe ich bereits, die geht auch, ist halt nicht der Brüller. Aber ich verstehe was Du meinst. Hätte jetzt nicht gedacht dass es solche Schwierigkeiten macht da ein paar Cases reinzubekommen. Das mit SQL wäre noch ne Frage für später, aber ich kann mir nicht vorstellen dass diese Funktion da momentan stört. Oder doch? Ich wollte diese Cases ja gerade hier einbauen. Aber das scheint wohl nicht zu gehen. Ich entnehme Deiner Aussage dass das mit der CheckX Funktion durcheiander gerät.


    vielen Dank noch mal

    lg

  • Buttons klickbar machen

    • casi4712
    • 21. Januar 2022 um 14:51

    So ich habe die While Schleife jetzt dementsprechend umgebaut, jetzt poppt die GUI nur noch kurz auf, das komplette sieht nun so aus. Ist echt zum Mäusemelken

    C
    #cs ----------------------------------------------------------------------------
    
     AutoIt Version: 3.3.14.5
     Author:         myName
    
     Script Function:
        Template AutoIt script.
    
    #ce ----------------------------------------------------------------------------
    
    
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <WinApi.au3>
    
    
    
    FileInstall( "C:\Users\Riegert\Pictures\DSC04006.JPG", "C:\Windows\Temp\hg.jpg", 1 )
    
    Global $RBOX_EVENT_CLOSE = 1
    Global $ROUNDES = 20, $LastHwnd = 0
    Global $GUIBKCOLOR = 0x3D96F6
    Global $ARRAY_COLOR_TOP_MIN[3] = [36 ,65 ,142] , $ARRAY_COLOR_TOP_MAX[3] = [11 ,42 ,122]
    
    _SQL()
    
        Local $hGui = RBoxCreate("PC  INTEGRATOR Version 4.0",800,600)
        Local $idButton_1 = GUICtrlCreateButton("Customize PC", 10, 55, 100, 20)
        Local $idButton_2 = GUICtrlCreateButton("Image-Prepare", 130, 55, 100, 20)
        Local $idButton_3 = GUICtrlCreateButton("DL aktualisieren", 250, 55, 100, 20)
        Local $idButton_4 = GUICtrlCreateButton("RegSettings", 370, 55, 100, 20)
        Local $idButton_5 = GUICtrlCreateButton("Customize PC", 490, 55, 85, 20)
    
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      ; Local $iPID = 0
       ;   Loop until the user exits.
    ;~       While 1
    
    ;~              Case $idButton_1
    ;~                  Run Notepad with the window maximized.
    ;~                   $iPID = Run("C:\Users\Administrator\Downloads\PC-Einrichtung\PCSETTING_listv2.cmd", "", 10)
    
    ;~                Case $idButton_2
    ;~                  $iPID = SoundPlay ( "C:\Users\xyz\Music\AUDIO\sampler\abc.wav")
    ;~          Else
    ;~                     ; $prog = ShellExecute("C:\Server\bin\Apache24\conf\httpd.conf")
    ;~              ; EndIf
    
    
    ;~          EndSwitch
    ;~       WEnd
    
    
    
    
    
    
    
    
    
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    Local $iPID = 0
    
    While 1
    CheckX($hGui,$RBOX_EVENT_CLOSE,"GuiCtrlSetColor("&$RBOX_EVENT_CLOSE&",0xA3A3A3)","GuiCtrlSetColor("&$RBOX_EVENT_CLOSE&",0x555555)")
    ;$gMsg = GUIGetMsg()
    ;Switch $gMsg
    Switch GUIGetMsg()
    Case $RBOX_EVENT_CLOSE, $GUI_EVENT_CLOSE
     Case $idButton_1
                    ;  Run Notepad with the window maximized.
                    $iPID = Run("C:\Users\Administrator\Downloads\PC-Einrichtung\PCSETTING_listv2.cmd", "", 10)
                Case $idButton_2
                    $iPID = SoundPlay ( "C:\Users\xyz\Music\AUDIO\sampler\abc.wav")
                Case $idButton_3
                    $prog = ShellExecute("C:\Server\bin\Apache24\conf\httpd.conf")
            Case Else
                Exit
            EndSwitch
        WEnd
    
    
    Func RBoxCreate($Title,$width, $height ,$left=-1 ,$top=-1 ,$show=1)
    Local $GUI = GUICreate($Title,$width,$height,$left,$top,$WS_POPUP)
    GUISetBkColor($GUIBKCOLOR,$GUI)
    ;GUISetFont(9,  100, italic)
    GUISetFont (-1,9, 900); bold
    GUICtrlCreatePic('C:\Windows\Temp\hg.jpg', 0, 25, 920, 660)
    ;GUICtrlCreatePic('C:\Users\Riegert\Pictures\DSC04006.JPG', 0, 25, 920, 660)
    $RBOX_EVENT_CLOSE = GUICtrlCreateLabel('X',$width-20,3,25,25)
    GUICtrlSetCursor($RBOX_EVENT_CLOSE,0)
    GUICtrlSetBkColor($RBOX_EVENT_CLOSE,-2)
    GUICtrlSetFont($RBOX_EVENT_CLOSE,15,800)
    GUICtrlSetColor($RBOX_EVENT_CLOSE,0xFFFFFF)
    $Title &= " "
    
    ;LABELS
    GUICtrlCreateLabel ("CUSTOMIZING                                                                                                                                                                                         Local DB-Server: &$st",10,35,980,20)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetFont (-1,9, 800); bold
    
    GUICtrlCreateLabel ("Einzelmodule",10,120,780,20)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetFont (-1,9, 900); bold
    
    GUICtrlCreateLabel ("System-Wartung und Checks",10,220,780,20)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetFont (-1,9, 900); bold
    
    GUICtrlCreateLabel ("Datenbank",10,420,780,20)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetFont (-1,9, 900); bold
    
    GUICtrlCreateLabel("_____________________________________________________________________________________________________________________________________ ", 0, 95, 900)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlCreateLabel("_____________________________________________________________________________________________________________________________________ ", 0, 200, 900)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    
    GUICtrlCreateLabel("_____________________________________________________________________________________________________________________________________ ", 0, 400, 900)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    
    GUICtrlCreateLabel("_____________________________________________________________________________________________________________________________________", 0, 530, 900)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlCreateLabel("_____________________________________________________________________________________________________________________________________", 0, 555, 900)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    ;guictrlcreatelabel("You've completed " & $st & "runs.",100,25,100,25,$SS_CENTER)
    
    Local $hTitle = GUICtrlCreateLabel($Title,0,0,$width-20,26,$SS_CENTER,$GUI_WS_EX_PARENTDRAG)
    GUICtrlSetFont($hTitle,17,400,0,"Consolas")
    GUICtrlSetBkColor($hTitle,-2)
    Local $Graphic = GUICtrlCreateGraphic (0,0, $width, 25)
    GUICtrlSetState($Graphic,$Gui_DISABLE)
    If $show = 1 Then GUISetState(@SW_SHOW,$GUI)
    
    Return $GUI
    EndFunc
    
    
    
    Func CheckX($hGui, $CtrlID, $sCMD, $eCMD)
    Local $cGui = GUIGetCursorInfo($hGui)
    If Not IsArray($cGui) Then Return 0
    if $LastHwnd <> $cGui[4] And $cGui[4] = $CtrlID Then Return Execute($sCMD) + Assign("LastHwnd",$cGui[4])
    if $LastHwnd <> $cGui[4] Then Return Execute($eCMD) + Assign("LastHwnd",$cGui[4])
    EndFunc
    
    
    
    
    Func _SQL()
    $SeviceName = "SQL Server (AUGIAS)" ;name of the service to test
    RunWait(@ComSpec & " /c net start > c:\temp\services.txt", "", @SW_HIDE);send a list of the services that are running to a file
    $FileText = FileRead("c:\temp\services.txt", FileGetSize("c:\temp\services.txt"));read that file
    If StringInStr($FileText, $SeviceName) Then;check for the service name
        $st = "RUNNING"
    Else
         $st = "OFF"
    EndIf
    EndFunc   ;==>_test
    Alles anzeigen
  • Buttons klickbar machen

    • casi4712
    • 21. Januar 2022 um 14:41

    Wie gesagt noch mal die Frage sollte ich, wie gehabt eine 2te Schleife einbauen oder dass hierunter mit einbauen?

    Code
    While 1
    CheckX($hGui,$RBOX_EVENT_CLOSE,"GuiCtrlSetColor("&$RBOX_EVENT_CLOSE&",0xA3A3A3)","GuiCtrlSetColor("&$RBOX_EVENT_CLOSE&",0x555555)")
    $gMsg = GUIGetMsg()
    ....
  • Buttons klickbar machen

    • casi4712
    • 21. Januar 2022 um 14:09

    Danke noch mal,

    so wird das leider auch nichts, zumindest beim klicken, sobald ich im else zweig was habe macht er beim start ne Endlosschleife, auch schön aber nicht das was ich wollte. Ich wollte auf Button1, 2 etc klicken und dnan eine Aktion starten, da passiert aber nichts, nun sieht es so aus

    Code
       Local $iPID = 0
      ; Switch $PID
       ;   Loop until the user exits.
       
       Local $idMsg = 0
          While 1
         $idMsg = GUIGetMsg()
       Switch $idMsg
                 Case $idButton_1
                    ;  Run Notepad with the window maximized.
                 $iPID = Run("C:\Users\Administrator\Downloads\PC-Einrichtung\PCSETTING_listv2.cmd", "", 10)
    
         Case $idButton_2
            ; $iPID = SoundPlay ( "C:\Users\xyz\Music\AUDIO\sampler\abc.wav")
             $prog = ShellExecute("C:\Server\bin\Apache24\conf\httpd.conf")
    Case Else
    
    ;EndIf
    
    
    
          EndSwitch
          WEnd
    Alles anzeigen

    Ausserdem geht der schliessbutton nicht mehr, dass ging ja schon

    Vielleicht mal eine ganz indiskrete Frage, vielleicht war ja die zuätzliche Schleife von mir Murks und ich hätte das in die zweite While Schleife einbauen müssen?

  • Buttons klickbar machen

    • casi4712
    • 21. Januar 2022 um 13:17

    Danke nochmal für die schnelle Antwort. Also ich habe den markierten Teil jetzt abgeändert in:

    Code
       Local $iPID = 0
       Switch $PID
       ;   Loop until the user exits.
          While 1
    
                 Case $idButton_1
                      Run Notepad with the window maximized.
                 $iPID = Run("C:\Users\Administrator\Downloads\PC-Einrichtung\PCSETTING_listv2.cmd", "", 10)
    
         Case $idButton_2
             $iPID = SoundPlay ( "C:\Users\xyz\Music\AUDIO\sampler\abc.wav")
    Case Else
     $prog = ShellExecute("C:\Server\bin\Apache24\conf\httpd.conf")
    EndIf
    
    
          EndSwitch
          WEnd
    Alles anzeigen

    Trotzdem Fehler: Badly formated Variable, denke das meinst Du anders

  • Buttons klickbar machen

    • casi4712
    • 21. Januar 2022 um 12:27

    Hallo allerseits,

    ich bin neu in Autoit. Ich habe versucht eine GUI zum Aufruf diverser Scripte zu erstellen, so weit steht sie schon, aber aus irgend einem Grund gelingt es mit nicht den Button Aktionen zuzuweisen (Abschnitt durch ;;;; markiert, er findet angeblich die ButtonIDs nicht, aber die sind doch da? Vielleihct seh ich den Baum vor lauter Bäümen nicht. Kann mir einer auf die Sprünge helfen? Das wäre super nett


    C
    #cs ----------------------------------------------------------------------------
    
     AutoIt Version: 3.3.14.5
     Author:         myName
    
     Script Function:
        Template AutoIt script.
    
    #ce ----------------------------------------------------------------------------
    
    
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <WinApi.au3>
    FileInstall( "C:\Users\Riegert\Pictures\DSC04006.JPG", "C:\Windows\Temp\hg.jpg", 1 )
    
    Global $RBOX_EVENT_CLOSE = 1
    Global $ROUNDES = 20, $LastHwnd = 0
    Global $GUIBKCOLOR = 0x3D96F6
    Global $ARRAY_COLOR_TOP_MIN[3] = [36 ,65 ,142] , $ARRAY_COLOR_TOP_MAX[3] = [11 ,42 ,122]
    
    _SQL()
    
        Local $hGui = RBoxCreate("PC  INTEGRATOR Version 4.0",800,600)
        Local $idButton_1 = GUICtrlCreateButton("Customize PC", 10, 55, 100, 20)
        Local $idButton_2 = GUICtrlCreateButton("Image-Prepare", 130, 55, 100, 20)
        Local $idButton_3 = GUICtrlCreateButton("DL aktualisieren", 250, 55, 100, 20)
        Local $idButton_4 = GUICtrlCreateButton("RegSettings", 370, 55, 100, 20)
        Local $idButton_5 = GUICtrlCreateButton("Customize PC", 490, 55, 85, 20)
    
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
       Local $iPID = 0
       ;   Loop until the user exits.
          While 1
    
                 Case $idButton_1
                     Run Notepad with the window maximized.
                      $iPID = Run("C:\Users\Administrator\Downloads\PC-Einrichtung\PCSETTING_listv2.cmd", "", 10)
    
                   Case $idButton_2
                     $iPID = SoundPlay ( "C:\Users\xyz\Music\AUDIO\sampler\abc.wav")
             Else
                        ; $prog = ShellExecute("C:\Server\bin\Apache24\conf\httpd.conf")
                 ; EndIf
    
    
             EndSwitch
          WEnd
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    
    While 1
    CheckX($hGui,$RBOX_EVENT_CLOSE,"GuiCtrlSetColor("&$RBOX_EVENT_CLOSE&",0xA3A3A3)","GuiCtrlSetColor("&$RBOX_EVENT_CLOSE&",0x555555)")
    $gMsg = GUIGetMsg()
    Switch $gMsg
    Case $RBOX_EVENT_CLOSE, $GUI_EVENT_CLOSE
    Exit
    
    EndSwitch
    WEnd
    
    
    Func RBoxCreate($Title,$width, $height ,$left=-1 ,$top=-1 ,$show=1)
    Local $GUI = GUICreate($Title,$width,$height,$left,$top,$WS_POPUP)
    GUISetBkColor($GUIBKCOLOR,$GUI)
    ;GUISetFont(9,  100, italic)
    GUISetFont (-1,9, 900); bold
    GUICtrlCreatePic('C:\Windows\Temp\hg.jpg', 0, 25, 920, 660)
    ;GUICtrlCreatePic('C:\Users\Riegert\Pictures\DSC04006.JPG', 0, 25, 920, 660)
    $RBOX_EVENT_CLOSE = GUICtrlCreateLabel('X',$width-20,3,25,25)
    GUICtrlSetCursor($RBOX_EVENT_CLOSE,0)
    GUICtrlSetBkColor($RBOX_EVENT_CLOSE,-2)
    GUICtrlSetFont($RBOX_EVENT_CLOSE,15,800)
    GUICtrlSetColor($RBOX_EVENT_CLOSE,0xFFFFFF)
    $Title &= " "
    
    ;LABELS
    GUICtrlCreateLabel ("CUSTOMIZING                                                                                                                                                                                         Local DB-Server: &$st",10,35,980,20)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetFont (-1,9, 800); bold
    
    GUICtrlCreateLabel ("Einzelmodule",10,120,780,20)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetFont (-1,9, 900); bold
    
    GUICtrlCreateLabel ("System-Wartung und Checks",10,220,780,20)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetFont (-1,9, 900); bold
    
    GUICtrlCreateLabel ("Datenbank",10,420,780,20)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetFont (-1,9, 900); bold
    
    GUICtrlCreateLabel("_____________________________________________________________________________________________________________________________________ ", 0, 95, 900)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlCreateLabel("_____________________________________________________________________________________________________________________________________ ", 0, 200, 900)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    
    GUICtrlCreateLabel("_____________________________________________________________________________________________________________________________________ ", 0, 400, 900)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    
    GUICtrlCreateLabel("_____________________________________________________________________________________________________________________________________", 0, 530, 900)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlCreateLabel("_____________________________________________________________________________________________________________________________________", 0, 555, 900)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    ;guictrlcreatelabel("You've completed " & $st & "runs.",100,25,100,25,$SS_CENTER)
    
    Local $hTitle = GUICtrlCreateLabel($Title,0,0,$width-20,26,$SS_CENTER,$GUI_WS_EX_PARENTDRAG)
    GUICtrlSetFont($hTitle,17,400,0,"Consolas")
    GUICtrlSetBkColor($hTitle,-2)
    Local $Graphic = GUICtrlCreateGraphic (0,0, $width, 25)
    GUICtrlSetState($Graphic,$Gui_DISABLE)
    If $show = 1 Then GUISetState(@SW_SHOW,$GUI)
    
    Return $GUI
    EndFunc
    
    
    
    Func CheckX($hGui, $CtrlID, $sCMD, $eCMD)
    Local $cGui = GUIGetCursorInfo($hGui)
    If Not IsArray($cGui) Then Return 0
    if $LastHwnd <> $cGui[4] And $cGui[4] = $CtrlID Then Return Execute($sCMD) + Assign("LastHwnd",$cGui[4])
    if $LastHwnd <> $cGui[4] Then Return Execute($eCMD) + Assign("LastHwnd",$cGui[4])
    EndFunc
    
    
    
    
    Func _SQL()
    $SeviceName = "SQL Server (AUGIAS)" ;name of the service to test
    RunWait(@ComSpec & " /c net start > c:\temp\services.txt", "", @SW_HIDE);send a list of the services that are running to a file
    $FileText = FileRead("c:\temp\services.txt", FileGetSize("c:\temp\services.txt"));read that file
    If StringInStr($FileText, $SeviceName) Then;check for the service name
        $st = "RUNNING"
    Else
         $st = "OFF"
    EndIf
    EndFunc   ;==>_test
    Alles anzeigen

    LG Chris

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™