Что нового

Не срабатывает второе условие GetIdleTime

.me

Новичок
Сообщения
89
Репутация
0
Нашел функцию для проверки простоя пк:
Код:
Local $Idle = 10
  If _Timer_GetIdleTime() > $Idle * 1000 Then
If ProcessExists("stats.exe") Then
	Run(@ComSpec & " /c taskkill /f /IM stats.exe > NUL", @SystemDir, @SW_HIDE)
else
     Run(@ComSpec & ' /c  ' & "stats.exe param1", '', @SW_HIDE)
EndIf
    Do
      Sleep(1000)
    Until _Timer_GetIdleTime() < $Idle * 1000
     If ProcessExists("stats.exe") Then
	Run(@ComSpec & " /c taskkill /f /IM stats.exe > NUL", @SystemDir, @SW_HIDE)
	Else
     Run(@ComSpec & ' /c  ' & "stats.exe param2", '', @SW_HIDE)
EndIf
EndIf

если пк простаивает то
Код:
stats.exe param1

с этим все хорошо, тоесть все запускается и работает, как только что то происходит за пк, пошевелили мышкой и т.д процесс который был запущен taskkill и должна запустится команда
Код:
stats.exe param2

но почему то не срабатывает
пробовал проверять
Код:
If _Singleton
что бы не было запуска более одной, но что то это не то, видимо
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
Код:
Local $Idle = 10000
If _Timer_GetIdleTime() > $Idle Then
  ProcessClose("stats.exe")
  Run("stats.exe param1")
  Do
    Sleep(1000)
  Until _Timer_GetIdleTime() < $Idle
  ProcessClose("stats.exe")
  Run("stats.exe param2")
EndIf
 
Верх