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

