1 (изменено: garik-lugansk, 2016-06-06 18:30:24)

Тема: При запущенных играх не срабатывает скрипт

Подскажите пожалуйста, не срабатывает скрипт когда запущены игры. 
скрипт на запуск по кнопке нумлок0.
Цель, при зависании игры снимать все задачи этой прогой.

Numpad0:: 
Run C:\test.exe.

если вне игры, срабатывает на ура, как только игра, всё не риагирует. Куда копать подскажите пожалуйста.

2 (изменено: Indomito, 2016-06-06 13:31:10)

Re: При запущенных играх не срабатывает скрипт

Я не очень понял задачи, т.е. не вижу, цитирую: Цель, при зависании игры снимать все задачи это прогой.

garik-lugansk пишет:

если вне игры, срабатывает на ура, как только игра, всё не риагирует. Куда копать подскажите пожалуйста.

И так запустить test.exe при условиях или по нажатию на клавишу, так?

Попробуй так.

;-----Инициализация
;Скрипт не выгружается до явного определения
#Persistent
;Запрет повторного запуска
#SingleInstance  Ignore
; Безусловная установка хука клавиатуры для SetNumLockState, AlwaysOn
#InstallKeybdHook
; Влючаем в непереключаемое состояние NumLock = On, до конца работы скрипта
SetNumLockState, AlwaysOn
 Влючаем в непереключаемое состояние CapsLock = Off, до конца работы скрипта
SetCapsLockState, AlwaysOff 

;Точка выхода
OnExit, lEnd_test  ; Ensure the cursor is made visible when the script exits.

  ExcutePath    := "C:\test.exe"
  WorkPath      := "C:\"
  ProcNameGame  := "test.exe"

Return

Critical
Thread, NoTimers
#UseHook, On
~Numpad0::
; Проверка повторного запуска приложения
 If (fnCheckRestartWaitProc(ProcNameGame,2) = False)
   {
    Sleep 1200
      Run, %ExcutePath%, %WorkPath%
    Sleep 1200
   }
Return
#UseHook, Off
Thread, NoTimers, false
Critical , Off

;Точка выхода, требуются условия.   
lEnd_test:
  ExitApp
   
;------Функция проверки существования процесса------------
; Вход (имя процесса полное, время ожидания[секунды])
; Ответ True/False = процесс работает(существует)/не работает(не существует)
fnCheckRestartWaitProc(vPIDName, vWaitProc) 
{
  Thread, NoTimers
    Process, Wait, %vPIDName% , %vWaitProc% ; Ждем процесса  vPIDName,  vWaitProc секунд
    if (ErrorLevel = 0) 
          vRet  := False  ; Программа и/или скрипт не запущен
    Else
          vRet  := True    
    Thread, NoTimers, false
  Return vRet ; Выходим с ответом
}
;---------------------------------------------------------

Тебе покажется громоздко, но лучше написать, чем не дописать.

P.S. Не забудь сделать условия для точки выхода.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
Для NotePad++(подсветка синтаксиса, автозавершение и плагины(AutoSave и RunMe).
OS Windows 10 x64 Pro

3 (изменено: garik-lugansk, 2016-06-06 18:31:13)

Re: При запущенных играх не срабатывает скрипт

Спасибо, буду разбираться, хотелось легко, но не получилось.
Запуск скрипта по нажатию кнопки.
А цель была: есть программа test.exe и она по определенным правилам снимает задачи которые запустил пользователь, а не система.

4

Re: При запущенных играх не срабатывает скрипт

garik-lugansk пишет:

А цель была: есть программа test.exe и она по определенным правилам снимает задачи которые запустил пользователь, а не система.

Если был исходник test.exe на AHK, то можно было бы сделать проще.

Кстати может будет достаточно этого.

#InstallKeybdHook
; Влючаем в непереключаемое состояние NumLock = On, до конца работы скрипта
SetNumLockState, AlwaysOn
~Numpad0:: 
Run C:\test.exe
;Далее условия выхода
"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
Для NotePad++(подсветка синтаксиса, автозавершение и плагины(AutoSave и RunMe).
OS Windows 10 x64 Pro