1 (изменено: arenaclubkgz, 2023-01-31 14:08:36)

Тема: AHK: Скрипт закрывающий активные полноэкранные процессы (игры)

Доброго дня!

За неимением знаний в данной области и отсутствием результатов поиска в Google, решил обратиться на тематический форум за решением возникшей у меня задачи. Я работаю Системным Администратором в компьютерном клубе, в котором средствами Gizmo убрана возможность пользоваться Диспетчером Задач на клиентских компьютерах. Однако это не всегда удобно, поскольку в случае зависания игры или иного процесса (а такое случается), многим проще будет его закрыть, нежели чем взывать к полной перезагрузке. Посему хотел бы спросить: можно ли написать скрипт, который будет как бы "дополнять" команду Alt+F4 (которая далеко не всегда работает при зависании), реагируя, но при этом убивая активный полноэкранный процесс?

Буду весьма признателен за ответ или примеры, по которым я попытаюсь собрать что-то своё.

2

Re: AHK: Скрипт закрывающий активные полноэкранные процессы (игры)

Попробуйте так:


F1::
WinGet, activePID, PID, A
Process, Close, %activePID%
return

3 (изменено: __Михаил__, 2023-01-31 21:59:55)

Re: AHK: Скрипт закрывающий активные полноэкранные процессы (игры)

arenaclubkgz

Более продвинутый вариант, проверьте и отпишитесь как будет работать.

Bat := "Killer.bat"	; Название батника. Можно сразу указать путь в иную, укромную папку.
WList := "Explorer.EXE|SearchUI.exe|ShellExperienceHost.exe"	; 'Белый' список программ, которые нельзя закрывать.
Wait := 10	; Время (в секундах) перед закрытием окошка с вопросом.
Return

!F5::	; Alt + F5 - Принудительное завершение полноэкранных процессов с помощью батника:
KeyWait, % F5, U
KeyWait, % Alt, U
Sleep, 100

If !Get_Full()
 Return

WinGet, App, ProcessName, A
If InStr(WList, App)
 Return

MsgBox, 4, Титул, % "Закрыть: " App "?", % Wait
IfMsgBox Yes
{
 FileDelete, % Bat
 FileAppend, % "taskkill /IM " App " /F", % Bat
 Run *RunAs %Bat%
}
;FileDelete, % Bat	; Раскомментировать, если нужно удалить батник сразу после выполнения.
Return


Get_Full(){	; Проверка тек. окна на полноэкранность (кривой вариант, но пашет в обычных играх):
 WinGetPos,,,W,H, A
 Return (W+H = A_ScreenWidth + A_ScreenHeight)
}
Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

4

Re: AHK: Скрипт закрывающий активные полноэкранные процессы (игры)

arenaclubkgz, темы по играм должны быть в этой ветке!

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5 (изменено: arenaclubkgz, 2023-02-03 09:04:57)

Re: AHK: Скрипт закрывающий активные полноэкранные процессы (игры)

teadrinker пишет:

arenaclubkgz, темы по играм должны быть в этой ветке!

прошу прощения. Не знал, в какой ветке будет правильней разместить своё сообщение. Благодарю за исправление.

__Михаил__ пишет:

arenaclubkgz

Более продвинутый вариант, проверьте и отпишитесь как будет работать.

Премного благодарен. Сегодня попробую. Отпишусь.

6 (изменено: arenaclubkgz, 2023-02-03 09:04:05)

Re: AHK: Скрипт закрывающий активные полноэкранные процессы (игры)

__Михаил__, докладываю: скрипт работает. Пока что из всех запущенных игр (проверил порядком 12-ти штук, причём на некоторых из них простой alt+F4 не работал) все успешно закрыл с предупреждающим окном. Однако это, если можно так выразиться, типичное поведение, поскольку проблема ранее возникала именно с зависшими играми. Так что установлю на Клиентскую часть и буду пробовать. Премного благодарен за помощь и за готовый скрипт. Весьма удобная вещь, на которую ранее внимания не обращал, но сейчас - буду. И буду изучать. Спасибо!

7

Re: AHK: Скрипт закрывающий активные полноэкранные процессы (игры)

arenaclubkgz, ознакомьтесь, пожалуйста, с правилами цитирования.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

8

Re: AHK: Скрипт закрывающий активные полноэкранные процессы (игры)

teadrinker, в очередной раз прошу прощения за нарушение правил. Обещаю впредь исправиться.

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

9

Re: AHK: Скрипт закрывающий активные полноэкранные процессы (игры)

arenaclubkgz пишет:

прошу удалить данную тему

Люди писали код, зачем же удалять? Может, кому-то будет полезно.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder