AutoHotkey Process
Виконує над процесом одну з наступних операцій: перевіряє існування, змінює пріоритет, закриває, чекає на закриття.
| Cmd | Одне з таких слів: |
Exist: поміщає в ErrorLevel ідентифікатор процесу (P >Close: завершує процес. Якщо процес завершено успішно, в ErrorLevel поміщається його PID, інакше (якщо відповідного процесу не знайдено або є проблеми з його закриттям) ErrorLevel дорівнює 0. Так як процес буде завершений раптово - можливо, з перериванням його роботи в критичній точці або зі втратою незбережених даних - цей метод повинен використовуватися тільки якщо процес не може бути закритий шляхом застосування WinClose до одного з його вікон.
List: хоча це значення поки не підтримується, у розділі прикладів показано, як можна отримати список процесів через DllCall.
Priority: змінює пріоритет (як він показується в Диспетчері завдань Windows) першого з відповідних процесів, задаючи йому значення, вказане в Param3, і поміщає в ErrorLevel ідентифікатор цього процесу (PID). Якщо параметр PID-or-Name порожній, змінюється пріоритет скрипту. Якщо відповідного процесу не знайдено або є проблеми зі зміною його пріоритету, ErrorLevel дорівнюватиме 0.
Param3повинен містити одне з наступних слів: L (або Low), B (або BelowNormal), N (або Normal), A (або AboveNormal), H (або High), R (або Realtime). Оскільки BelowNormal та AboveNormal не підтримуються у Windows 95/98/Me/NT4, у цих операційних системах вони будуть автоматично замінені на Normal. Примітка: будь-який процес, не призначений для виконання з пріоритетом Realtime, може знизити стабільність системи, якщо йому задати цей рівень.
Wait: очікує існування зазначеногопроцесу протягом заданої в Param3 кількості секунд (число може містити десяткову точку). Якщо Param3 опущено, команда чекатиме необмежено довго. При виявленні відповідного процесу в ErrorLevel міститься його ідентифікатор (PID). Якщо час очікування минув, ErrorLevel дорівнюватиме 0.
WaitClose: чекає, поки не будуть закриті ВСІ відповідні параметру PID-or-Name процеси. Час очікування в секундах задається в Param3 (число може містити десяткову точку). Якщо всі процеси, що збігаються, завершуються, ErrorLevel встановлюється в 0. Якщо закінчується час очікування, ErrorLevel міститиме ідентифікатор (PID) першого з відповідних процесів, який ще існує.
PID: ідентифікатор процесу, що є числом, яке однозначно ідентифікує один певний процес (тільки на той час, поки процес існує; наступного разу це число буде іншим). PID процесу, що знову запускається, може бути визначений через команду Run. PID вікна можна дізнатись через WinGet. Сама команда Process може також визначати PID.
Назва: ім'я процесу. Зазвичай збігається з ім'ям файлу, що виконується (без шляху до нього), наприклад, notepad.exe або winword.exe. Оскільки одне й те саме ім'я можуть мати кілька процесів, операції виконуються лише над першим. Ім'я процесу нечутливе до регістру.
Примітка від українськомовних користувачів: як показала практика, регістр має значення, якщо в імені файлу, що виконується, є українські літери. Наприклад, якщо Notepad.exe перейменувати на Блокнот.exe, то при запуску з розділу диска,відформатованого у FAT32, ім'я процесу буде БЛОКНОТ.EXE, а у разі розділу NTFS – Блокнот.exe. В обох випадках процес буде знайдений лише якщо його ім'я в команді вказано точно, з дотриманням регістру українських букв. Мабуть, найпростіший спосіб обходу цієї проблеми - робити перевірку для обох варіантів імені.
ErrorLevel
Дивіться опис Cmd вище.
Примітки
Для Wait та WaitClose. Процеси перевіряються кожні 100 мілісекунд. Якщо очікуване виявлено, команда не чекає на закінчення зазначеного терміну. Натомість вона негайно встановлює ErrorLevel як описано вище, і виконання скрипту продовжується. Коли команда перебуває в очікуванні, нові потоки можуть запускатися через гарячі клавіші, пункти меню або таймери.