PrX Posted December 21, 2020 Share Posted December 21, 2020 script work with exe but with services not working #include <Timers.au3> While 1 Sleep(10) $idleTimer = _Timer_GetIdleTime() If $idleTimer > 60000 And Not ProcessExists("ServiceName") Then Run("ServiceName") ElseIf $idleTimer < 10 Then ProcessClose("ServiceName") EndIf WEnd Link to comment Share on other sites More sharing options...
PrX Posted December 21, 2020 Author Share Posted December 21, 2020 how to start a service when the computer is idle and stop when it’s used can anyone help please with script? Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted December 21, 2020 Moderators Share Posted December 21, 2020 Moved to the appropriate forum. Moderation Team Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
water Posted December 21, 2020 Share Posted December 21, 2020 As I have stated in the PM you've sent me I will reply on the forum. Did you search the forum? I'm sure you'll get a lot of hits when searching for "start service" or something similar. PrX 1 My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki Link to comment Share on other sites More sharing options...
PrX Posted December 21, 2020 Author Share Posted December 21, 2020 i found to start/stop service manual when i open script work but to start service when computer is idle and stop when it’s used i didn't found anything Link to comment Share on other sites More sharing options...
PrX Posted December 21, 2020 Author Share Posted December 21, 2020 can this code work like this? #include <Timers.au3> While 1 Sleep(10) $idleTimer = _Timer_GetIdleTime() If $idleTimer > 10000 And Not RunWait(@ComSpec & " /c " & 'net stop ServiceName', "", @SW_HIDE) RunWait(@ComSpec & " /c " & 'net start ServiceName', "", @SW_HIDE) ElseIf $idleTimer < 10 Then RunWait(@ComSpec & " /c " & 'net stop ServiceName', "", @SW_HIDE) EndIf WEnd Link to comment Share on other sites More sharing options...
water Posted December 21, 2020 Share Posted December 21, 2020 (edited) I would start with something like this: #include <Timers.au3> Global $iIdleTimer, $bStarted = False While 1 Sleep(10) $iIdleTimer = _Timer_GetIdleTime() ; Start service if idle and service not already started If $iIdleTimer > 10000 And $bStarted = False Then RunWait(@ComSpec & " /c " & 'net start ServiceName', "", @SW_HIDE) $bStarted = True EndIf ; Stop service if not idle and service already running If $iIdleTimer < 10 And $bStarted = True Then RunWait(@ComSpec & " /c " & 'net stop ServiceName', "", @SW_HIDE) $bStarted = False EndIf WEnd Edited December 21, 2020 by water PrX 1 My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki Link to comment Share on other sites More sharing options...
PrX Posted December 21, 2020 Author Share Posted December 21, 2020 Got error #include <Timers.au3> Global $iIdleTimer, $bStarted = False While 1 Sleep(10) $iIdleTimer = _Timer_GetIdleTime() ; Start service if idle and service not already started If $iIdleTimer > 10000 And $bStarted = False Then RunWait(@ComSpec & " /c " & 'net start ServiceName', "", @SW_HIDE) $bStarted = True EndIf ; Stop service if not idle and service already running If $idleTimer < 10 And $bStarted = True Then RunWait(@ComSpec & " /c " & 'net stop ServiceName', "", @SW_HIDE) $bStarted = False EndIf WEnd Link to comment Share on other sites More sharing options...
water Posted December 21, 2020 Share Posted December 21, 2020 Fixed the error in my post above. BTW: Wasn't too hard to find PrX 1 My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki Link to comment Share on other sites More sharing options...
PrX Posted December 21, 2020 Author Share Posted December 21, 2020 What about this error Link to comment Share on other sites More sharing options...
water Posted December 21, 2020 Share Posted December 21, 2020 Can you guess what is wrong? The variable should be $iIdleTimer but the MsgBox talks about $idleTimer PrX 1 My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki Link to comment Share on other sites More sharing options...
PrX Posted December 21, 2020 Author Share Posted December 21, 2020 #include <Timers.au3> Global $iIdleTimer, $bStarted = False While 1 Sleep(10) $idleTimer = _Timer_GetIdleTime() ; Start service if idle and service not already started If $idleTimer > 10000 And $bStarted = False Then RunWait(@ComSpec & " /c " & 'net start ServiceName', "", @SW_HIDE) $bStarted = True EndIf ; Stop service if not idle and service already running If $idleTimer < 10 And $bStarted = True Then RunWait(@ComSpec & " /c " & 'net stop ServiceName', "", @SW_HIDE) $bStarted = False EndIf WEnd Thank you, worked now Link to comment Share on other sites More sharing options...
water Posted December 21, 2020 Share Posted December 21, 2020 I would do it the other way round. In most AutoIt scripts the first character denotes the content type (i for Integer, s for String ...). Details can be found in the wiki. My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki Link to comment Share on other sites More sharing options...
Sidley Posted December 22, 2020 Share Posted December 22, 2020 You might want to change the name of the global variable as well 😉 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now