Use AutoIt

http://www.autoitscript.com/autoit3


It comes with a very nice IDE that includes full documentation and script
samples.

See below for an example app that does exactly what you are looking for.
Paste the code into the AutoIt IDE and compile it.


-- Mike Wolfe


> -----Original Message-----
> From: Che Vilnonis [mailto:[EMAIL PROTECTED] 
> Sent: 25 September 2006 21:12
> To: CF-Talk
> Subject: RE: Software to Start/Stop Groups of Services.
> 
> I should add that I desire this so I can develop on my laptop 
> when needed
> and simply shut everything off when I need to free up the 
> system resources.
> For gaming... for playing movies, etc.
> 
> ~Che
> 


svcrun.au3
----------


#NoTrayIcon

;Include constants
#include <GUIConstants.au3>
#include <Array.au3>
#include <math.au3>
#include <Process.au3>

;Initialize variables
Global $GUIWidth
Global $GUIHeight

$GUIWidth = 250
$GUIHeight = 185

Dim $cfArray
Dim $sqlArray
Dim $mySQLArray
Dim $IISArray

$cfArray = _ArrayCreate("ColdFusion MX 7 Search Server","ColdFusion MX 7
ODBC Server","ColdFusion MX 7 ODBC Agent","ColdFusion MX 7 Application
Server")
$sqlArray = _ArrayCreate("SQLSERVERAGENT","MSSQLSERVER","Distributed
Transaction Coordinator")
$mysqlArray = _ArrayCreate("MySQL")
$iisArray = _ArrayCreate("World Wide Web Publishing","IISAdmin")

GUICreate("Dev Services Manager", $GUIWidth, $GUIHeight)

$Progress_Bar = GUICtrlCreateProgress(50, 10, 150, 20)

$cfCheck = GUICtrlCreateCheckbox("ColdFusion", 50, 40)
$sqlCheck = GUICtrlCreateCheckbox("SQL Server", 130, 40)
$iisCheck = GUICtrlCreateCheckbox("IIS", 50, 64)
$mysqlCheck = GUICtrlCreateCheckbox("mySQL", 130, 64)

$startRadio = GUICtrlCreateRadio("Start", 50, 90)
$stopRadio = GUICtrlCreateRadio("Stop", 105, 90)
$cycleRadio = GUICtrlCreateRadio("Cycle", 155, 90)

;Create a status label
$Status_lbl = GUICtrlCreateLabel("",10,117,230,20,$SS_CENTER)

$Go_Btn = GUICtrlCreateButton("Go", 90, 140, 70, 25)

GUICtrlSetState ($startRadio,$GUI_CHECKED)
GUICtrlSetState ($Go_Btn,$GUI_FOCUS)

GUISetState(@SW_SHOW)

While 1
        $msg = GUIGetMsg()
        
        Select
                ;Check if user clicked on the close button
                Case $msg = $GUI_EVENT_CLOSE
                        ;Destroy the GUI including the controls
                        GUIDelete()
                        ;Exit the script
                        Exit
                
                ;Check if user clicked on the "Go" button
                Case $msg = $Go_Btn
                        If GUICtrlRead($startRadio) = $GUI_CHECKED Then
                                If GUICtrlRead($iisCheck) = $GUI_CHECKED
Then
        
_svcManage($iisArray,"start",$Progress_Bar,$Status_lbl)
                                EndIf
                                
                                If GUICtrlRead($mysqlCheck) = $GUI_CHECKED
Then
        
_svcManage($mysqlArray,"start",$Progress_Bar,$Status_lbl)
                                EndIf
                                
                                If GUICtrlRead($sqlCheck) = $GUI_CHECKED
Then
        
_svcManage($sqlArray,"start",$Progress_Bar,$Status_lbl)
                                EndIf
                                
                                If GUICtrlRead($cfCheck) = $GUI_CHECKED Then
        
_svcManage($cfArray,"start",$Progress_Bar,$Status_lbl)
                                EndIf
                        ElseIf GUICtrlRead($stopRadio) = $GUI_CHECKED then 
                                If GUICtrlRead($cfCheck) = $GUI_CHECKED Then
        
_svcManage($cfArray,"stop",$Progress_Bar,$Status_lbl)
                                EndIf
                                
                                If GUICtrlRead($sqlCheck) = $GUI_CHECKED
Then
        
_svcManage($sqlArray,"stop",$Progress_Bar,$Status_lbl)
                                EndIf
                                
                                If GUICtrlRead($mysqlCheck) = $GUI_CHECKED
Then
        
_svcManage($mySQLArray,"stop",$Progress_Bar,$Status_lbl)
                                EndIf
                                
                                If GUICtrlRead($iisCheck) = $GUI_CHECKED
Then
        
_svcManage($iisArray,"stop",$Progress_Bar,$Status_lbl)
                                EndIf
                        Else
                                If GUICtrlRead($cfCheck) = $GUI_CHECKED Then
        
_svcManage($cfArray,"stop",$Progress_Bar,$Status_lbl)
        
_svcManage($cfArray,"start",$Progress_Bar,$Status_lbl)
                                EndIf
                                
                                If GUICtrlRead($sqlCheck) = $GUI_CHECKED
Then
        
_svcManage($sqlArray,"stop",$Progress_Bar,$Status_lbl)
        
_svcManage($sqlArray,"start",$Progress_Bar,$Status_lbl)
                                EndIf
                                
                                If GUICtrlRead($mysqlCheck) = $GUI_CHECKED
Then
        
_svcManage($mySQLArray,"stop",$Progress_Bar,$Status_lbl)
        
_svcManage($mySQLArray,"start",$Progress_Bar,$Status_lbl)
                                EndIf
                                
                                If GUICtrlRead($iisCheck) = $GUI_CHECKED
Then
        
_svcManage($iisArray,"stop",$Progress_Bar,$Status_lbl)
        
_svcManage($iisArray,"start",$Progress_Bar,$Status_lbl)
                                EndIf
                        EndIf           
        EndSelect
WEnd

Func _svcManage(ByRef $avArray,$action,ByRef $Progress_Bar,ByRef
$Status_lbl)
        Dim $i
        Dim $rc
        Dim $p = _Ceil(100/UBound($avArray))
        Dim $q
        Dim $t_lbl
        Dim $t_act
        Dim $t_end 
        
        GUICtrlSetState($Go_Btn,$GUI_DISABLE)
        
        Select
                Case $action = "start"
                        $t_lbl = "Starting"
                        $t_act = "start"
                        $t_end = "Started"
                        
                Case $action = "stop"
                        $t_lbl = "Stopping"
                        $t_act = "stop"
                        $t_end = "Stopped"
                
                Case Else
                        Return
        EndSelect
        
        GUICtrlSetData($Progress_Bar,0)
        
        For $i = 0 to (UBound($avArray) - 1) Step 1
                GUICtrlSetData ($Status_lbl,$t_lbl & " " & $avArray[$i] &
"...")
                $rc = _RunDos("net " &  $t_act & " """ & $avArray[$i] &
"""")
                
                $q = GUICtrlRead($Progress_Bar) + $p
                
                If $q > 100 Then $q = 100
                
                GUICtrlSetData($Status_lbl,"")
                GUICtrlSetData($Progress_Bar,$q)

        Next
        
        GUICtrlSetData($Status_lbl,"Services " & $t_end)
        
        GUICtrlSetState($Go_Btn,$GUI_ENABLE)
EndFunc




~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting,
up-to-date ColdFusion information by your peers, delivered to your door four 
times a year.
http://www.fusionauthority.com/quarterly

Archive: 
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:254181
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

Reply via email to