Автор Тема: [Автоматизация] Запуск файла в зависимости от активности пользователя на ПК  (Прочитано 388 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Эта тема содержит сообщение, помеченное как лучший ответ. Кликните здесь для перехода к этому сообщению.

Оффлайн CRD [?]

  • Новичок
  • *
  • Сообщений: 49
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
Версия AutoIt: 3.3.14.4

Описание: Если компьютер находится в режиме простоя более 5 минут - запустить 1.exe, если за компьютером работают - запустить 2.exe.

Примечания: Скрипт следит за активностью пользователя на ПК и в зависимости от того, пользуются компом в данный момент или нет - переключается между программами. Надеюсь понятно объяснил свои хотелки. Если нет - спрашивайте, попробую переформулировать задачу.

Спасибо большое всем, кто не прошел мимо и помог с реализацией.

Русское сообщество AutoIt


Оффлайн hedji [?]

  • Осваивающий
  • **
  • Сообщений: 227
  • Репутация: 32
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Код: AutoIt [Выделить]
While 1
$coord1 = MouseGetPos()
Sleep(300000)
$coord2 = MouseGetPos()
If $coord1[0] = $coord2[0] And $coord1[1] = $coord2[1] Then
    Run("notepad.exe")
Else
    Run("calc.exe")
EndIf
WEnd

 


Оффлайн CRD [?]

  • Новичок
  • *
  • Сообщений: 49

  • Автор темы
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
Типа того, но не до конца ... Как к этому скрипту прикрутить проверку на запущенность процесса ? А то он мне во время теста запустил 2 калькулятора. А так же, как при открытии одной программы другая закрывалась ?

Оффлайн CRD [?]

  • Новичок
  • *
  • Сообщений: 49

  • Автор темы
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0

Русское сообщество AutoIt


Оффлайн filautdinov [?]

  • Новичок
  • *
  • Сообщений: 75
  • Репутация: 6
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
OffTopicЗапускатор майнера пишем)

Оффлайн CRD [?]

  • Новичок
  • *
  • Сообщений: 49

  • Автор темы
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
Нет, но под него тоже можно будет переделать в случае большой необходимости :ok:

Оффлайн Khaibit [?]

  • Новичок
  • *
  • Сообщений: 65
  • Репутация: 18
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.6.1

Оффлайн CRD [?]

  • Новичок
  • *
  • Сообщений: 49

  • Автор темы
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
Почитал мануал, не совсем понял, как подключить чередование 2х программ, дайте пример пожалуйста

Русское сообщество AutoIt


Помечен как лучший ответ пользователем CRD Отправлен Апрель 05, 2018, 23:41:58

Оффлайн Tempo [?]

  • Продвинутый
  • ***
  • Сообщений: 323
  • Репутация: 78
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Код: AutoIt [Выделить]
#include <Timers.au3>
Global $sProcPath1 = "notepad.exe", $sProcPath2 = "calc.exe", $sProcName1 = "notepad.exe", $sProcName2 = "calc.exe", $iTimeout = 10000 ;мсек

While Sleep(250)
    If _Timer_GetIdleTime() > $iTimeout Then
        If ProcessExists($sProcName1) Then ProcessClose($sProcName1)
        If Not ProcessExists($sProcName2) Then Run($sProcPath2)
    Else
        If ProcessExists($sProcName2) Then ProcessClose($sProcName2)
        If Not ProcessExists($sProcName1) Then Run($sProcPath1)
    EndIf
WEnd


Оффлайн CRD [?]

  • Новичок
  • *
  • Сообщений: 49

  • Автор темы
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
Tempo, объясни дураку, зачем создавать 5 переменных и присваивать им значения ? Разве нельзя все сразу в коде прописать:
Код: AutoIt [Выделить]
#include <Timers.au3>

While Sleep(250)
    If _Timer_GetIdleTime() > 300000 Then
        If ProcessExists("notepad.exe") Then ProcessClose("notepad.exe")
        If Not ProcessExists("calc.exe") Then Run("calc.exe")
    Else
        If ProcessExists("calc.exe") Then ProcessClose("calc.exe")
        If Not ProcessExists("notepad.exe") Then Run("notepad.exe")
    EndIf
WEnd

Не ?

Оффлайн Tempo [?]

  • Продвинутый
  • ***
  • Сообщений: 323
  • Репутация: 78
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
CRD, для наглядности примера, удобства изменения. Надеюсь вы поняли где нужно использовать название процесса, а где путь для его запуска

Оффлайн CRD [?]

  • Новичок
  • *
  • Сообщений: 49

  • Автор темы
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
Tempo, спасибо за разъяснения. Да, логику понял :beer:

Русское сообщество AutoIt


 

Похожие темы

  Тема / Автор Ответов Последний ответ
1 Ответов
10126 Просмотров
Последний ответ Ноябрь 16, 2009, 17:05:33
от SyDr
0 Ответов
3587 Просмотров
Последний ответ Июль 13, 2011, 14:50:04
от AtoS
18 Ответов
9030 Просмотров
Последний ответ Ноябрь 30, 2011, 16:57:56
от ZeVSalt
1 Ответов
2126 Просмотров
Последний ответ Март 05, 2012, 10:22:06
от joiner
20 Ответов
18178 Просмотров
Последний ответ Март 14, 2012, 00:21:18
от Arei
3 Ответов
4837 Просмотров
Последний ответ Август 06, 2012, 14:24:17
от MockeR
2 Ответов
1334 Просмотров
Последний ответ Март 15, 2014, 17:35:34
от Nekromaster
5 Ответов
2237 Просмотров
Последний ответ Март 29, 2014, 22:09:11
от inververs
9 Ответов
2245 Просмотров
Последний ответ Ноябрь 04, 2015, 17:40:25
от Авдей
0 Ответов
309 Просмотров
Последний ответ Октябрь 26, 2017, 09:09:15
от ahtss