Administateur - Gestion des services Windows
Posté : jeu. 10 oct. 2019 23:26
Bonjour,
je souhaiterai un petit coups de main pour réaliser un gestionnaire de service.
L'idée:
Fonctionnement :
Commandes DOS
Le code générer avec KODA GUI:
je souhaiterai un petit coups de main pour réaliser un gestionnaire de service.
L'idée:
Code : Tout sélectionner
- Un label par nom de service
- 4 Checkbox pour les différents état (Démarrage, arrêt, désactiver le service et activer le service
- Une fenêtre en dessous qui affiche l'état.
- 1 Bouton Appliquer les paramètres
- 1 Bouton qui permet de rafraîchir l'état
Code : Tout sélectionner
JE souhaite que selon les cases coché pour chaque services sa applique le paramètre via une commande CMD.
Code : Tout sélectionner
RunWait(@ComSpec & " /c NET STOP " & "MONSERVICE" & " /Y",@SystemDir,@SW_HIDE)
RunWait(@ComSpec & " /c NET START" & "MONSERVICE" & " /Y",@SystemDir,@SW_HIDE)
Commande incorrect:
RunWait(@ComSpec & " /c sc config" & "SysMain" & "start= disabled" & " /Y",@SystemDir,@SW_HIDE)
Le code générer avec KODA GUI:
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <MsgBoxConstants.au3>
; https://www.autoitscript.com/forum/topic/10430-basic-gui-with-2-buttons/
; https://www.autoitscript.fr/forum/viewtopic.php?t=9806
; https://www.autoitscript.com/forum/topic/139137-how-to-simulate-mouse-click-without-moving-the-cursor/?do=findComment&comment=975559
; https://www.autoitscript.com/autoit3/docs/functions/ProcessExists.htm
; GUICtrlRead
$Form1_1 = GUICreate("Gestions des services Windows - par Drthrax", 457, 247, 1785, 262)
$Label_Superfetch = GUICtrlCreateLabel("Superfetch", 48, 16, 56, 17)
$Checkbox1_Superfetch = GUICtrlCreateCheckbox("A", 40, 48, 65, 17)
$Checkbox2_Superfetch = GUICtrlCreateCheckbox("B", 40, 72, 65, 17)
$Checkbox3_Superfetch = GUICtrlCreateCheckbox("C", 40, 96, 97, 17)
$Checkbox4_Superfetch = GUICtrlCreateCheckbox("D", 40, 120, 121, 17)
$Checkbox5 = GUICtrlCreateCheckbox("E", 192, 96, 97, 17)
$Checkbox6 = GUICtrlCreateCheckbox("F", 192, 120, 121, 17)
$Checkbox7 = GUICtrlCreateCheckbox("G", 192, 48, 65, 17)
$Checkbox8 = GUICtrlCreateCheckbox("H", 192, 72, 65, 17)
$Button_Appliquer = GUICtrlCreateButton("Appliquer", 224, 192, 201, 33)
$Button_Check = GUICtrlCreateButton("Vérifier etat du service", 32, 192, 177, 33)
$Label_WinUpdates = GUICtrlCreateLabel("Windows Updates", 200, 16, 91, 17)
$Group1 = GUICtrlCreateGroup("ETAT DU SERVICE", 32, 144, 145, 25)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2 = GUICtrlCreateGroup("ETAT DU SERVICE", 192, 144, 145, 25)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
w
Case $Button_Appliquer
if sysmain_1() = true Then
EndIf
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func sysmain_1()
if GUICtrlRead($Checkbox1_Superfetch) = 1 AND GUICtrlRead($Checkbox2_Superfetch) = 1 OR GUICtrlRead($Checkbox3_Superfetch) = 1 AND GUICtrlRead($Checkbox4_Superfetch) = 1 Then
MsgBox($MB_SYSTEMMODAL, "", "TESTE")
Else
EndIf
EndFunc
Func Service_sysmain()
if ProcessExists("C:\WINDOWS\system32\svchost.exe -k LocalSystemNetworkRestricted -p") then
RunWait(@ComSpec & " /c NET STOP " & "SysMain" & " /Y",@SystemDir,@SW_HIDE)
Sleep(1000)
RunWait(@ComSpec & " /c sc config" & "SysMain" & "start= disabled" & " /Y",@SystemDir,@SW_HIDE)
MsgBox($MB_SYSTEMMODAL, "", "Sysmain arrêter")
Else
EndIf
EndFunc