1 (изменено: vezderegit@bk.ru, 2012-03-22 17:43:00)

Тема: AHK: Ограничения в работе скрипта

Возможно ли сделать какие то ограничения на работу скрипта? Временные или на количество запусков вообще, или количество запусков одновременных?я

2 (изменено: Indomito, 2012-03-22 18:13:08)

Re: AHK: Ограничения в работе скрипта

Можно.
Директива #SingleInstance - проверяет/ограничивает запуск дубликатов
Ну, а про число запусков, думаю это можно сделать программно.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download

3

Re: AHK: Ограничения в работе скрипта

Можно поподробнее о "программно"?

4 (изменено: Indomito, 2012-03-22 18:29:11)

Re: AHK: Ограничения в работе скрипта

Ну скажем через другой скрипт, т.е. считать запуски правда надо использовать глобальные переменные, но я не знаю точно как, но знаю что можно.

Или же создать переменную окружения и туда писать число запусков и сравнивать уже в самом стартующем скрипте... вариантов много, а начальных условий мало.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download

5 (изменено: Grey, 2012-03-23 08:40:43)

Re: AHK: Ограничения в работе скрипта

App:="notepad.exe", AppCount:=3
Query:="select ProcessId from Win32_Process where Name='"App "'"
MsgBox, 262144, % " ", Run 10 notepad applications, 1
Loop, 10
{
   Run, notepad.exe, % A_WinDir "\System32",, WinPID
   WinWaitActive, % "ahk_pid"WinPID
   ControlSendRaw, Edit1, % "Instance: "A_Index
                 . "`n`n"A_Hour ":"A_Min "."A_Sec
                 , % "ahk_pid"WinPID
}
MsgBox, 262144, % " ", Close all but the first tree., 1
For Key In ComObjGet("winmgmts:").ExecQuery(Query)
  If % A_Index>AppCount
  {
     WinActivate, % "ahk_pid"Key.ProcessId
     ControlSendRaw, Edit1
                   , % "`n`nClose instance: "A_Index
                   , % "ahk_pid"Key.ProcessId
     WinClose, % "ahk_pid"Key.ProcessId
     ControlClick, Button2, ahk_class #32770,,, 2
  }
MsgBox, 262144, % " ", Done!, 1
Sleep, 1000
For Key In ComObjGet("winmgmts:").ExecQuery(Query)
   {
      WinClose, % "ahk_pid"Key.ProcessId
      ControlClick, Button2, ahk_class #32770,,, 2
   }
ExitApp