Hi nochmal,
ZitatHätte jetzt nicht gedacht dass es solche Schwierigkeiten macht da ein paar Cases reinzubekommen.
Nein natürlich ist das kein großes Problem. Hier mal eine klein wenig abgewandelte Variante deines bisherigen Skriptes, die "funktioniert":
Mit klickbaren Buttons und Schließen-X
AutoIt
#include-once
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <String.au3>
#include <WindowsConstants.au3>
Opt("MustDeclareVars", 1)
FileInstall("C:\Users\Riegert\Pictures\DSC04006.JPG", "C:\Windows\Temp\hg.jpg", 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]
Global $RBOX_EVENT_CLOSE
Global $GUI
_SQL()
RBoxCreate("PC INTEGRATOR Version 4.0", 800, 600)
Global $idButton_1 = GUICtrlCreateButton("Customize PC", 10, 55, 100, 20)
Global $idButton_2 = GUICtrlCreateButton("Image-Prepare", 130, 55, 100, 20)
Global $idButton_3 = GUICtrlCreateButton("DL aktualisieren", 250, 55, 100, 20)
Global $idButton_4 = GUICtrlCreateButton("RegSettings", 370, 55, 100, 20)
Global $idButton_5 = GUICtrlCreateButton("Customize PC", 490, 55, 85, 20)
Local $iPID = 0
While True
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE, $RBOX_EVENT_CLOSE
GUIDelete($GUI)
Exit
Case $idButton_1
MsgBox(0, "", 1)
; Run Notepad with the window maximized.
;~ $iPID = Run("C:\Users\Administrator\Downloads\PC-Einrichtung\PCSETTING_listv2.cmd", "", 10)
Case $idButton_2
MsgBox(0, "", 2)
;~ $iPID = SoundPlay("C:\Users\xyz\Music\AUDIO\sampler\abc.wav")
Case $idButton_3
MsgBox(0, "", 3)
Case $idButton_4
MsgBox(0, "", 4)
Case $idButton_5
MsgBox(0, "", 5)
EndSwitch
WEnd
Func RBoxCreate($Title, $width, $height, $left = -1, $top = -1, $show = 1)
$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" & _StringRepeat(" ", 185) & "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)
EndFunc ;==>RBoxCreate
Func _SQL()
Local $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
Local $FileText = FileRead("c:\temp\services.txt", FileGetSize("c:\temp\services.txt")) ;read that file
Local $st = null
If StringInStr($FileText, $SeviceName) Then ;check for the service name
$st = "RUNNING"
Else
$st = "OFF"
EndIf
EndFunc ;==>_SQL
Alles anzeigen
Du schreibst außerdem noch:
ZitatIch entnehme Deiner Aussage dass das mit der CheckX Funktion durcheiander gerät.
Ja, die habe ich komplett rausgenommen da sie nicht benötigt wird. Zudem gibt es jedoch aus meiner Sicht zwei weitere Probleme mit dem Skript so in dieser "Quick & Dirty" abgeänderten Variante.
- Zum Einen solltest du einige Dinge trennen/neustrukturieren und dir eine Übersicht verschaffen wo was im Skript hingehört. So wie es jetzt ist sollte man es nicht lassen.
- Zum Anderen ist es sehr wahrscheinlich, dass du bald mit dem nächsten Problem diesbzgl. auf uns zukommen wirst, da sich andere Codestellen nicht wie erwartet verhalten oder ähnliches (so meine Einschätzung dazu).
Daher auch die gut gemeinten Vorschläge von Moombas und mir 😀 .
Viele Grüße
Sven