Jump to content

Recommended Posts

Posted

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

Posted

how to start a service when the computer is idle and stop when itโ€™s used can anyone help please with script?

  • Moderators
Posted

Moved to the appropriate forum.

Moderation Team

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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:

  Reveal hidden contents

 

Posted

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.

My UDFs and Tutorials:

  Reveal hidden contents

 

Posted

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

Posted (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 by water

My UDFs and Tutorials:

  Reveal hidden contents

 

Posted

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

Untitled.png

Posted

Fixed the error in my post above. BTW: Wasn't too hard to find ;)

My UDFs and Tutorials:

  Reveal hidden contents

 

Posted

Can you guess what is wrong?
The variable should be $iIdleTimer but the MsgBox talks about $idleTimer :)

My UDFs and Tutorials:

  Reveal hidden contents

 

Posted
#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 :D

Posted

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:

  Reveal hidden contents

 

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
ร—
ร—
  • Create New...