Я написал скрипт, само собой с помощью чата gpt, который скрытно запускаются вместе с windows и при открытии диспетчера задач закрывает telegram. А при закрытие диспетчера задач запускает telegram от имени администратора. Вот полный скрипт:
#NoEnv
#SingleInstance Force
#Persistent
#NoTrayIcon
SetWorkingDir %A_ScriptDir%
; ==================== НАСТРОЙКИ ====================
programs := []
programs.Push({"path": "C:\Users\User\AppData\Roaming\Telegram Desktop\Telegram.exe", "process": "Telegram.exe"})
checkInterval := 3000 ; Интервал проверки (в миллисекундах)
adminMode := true ; Запускать с правами администратора?
closeMethod := "WinClose" ; "WinClose" (мягко) или "Process" (принудительно)
; =============== АВТОМАТИЧЕСКИЙ ЗАПУСК ==============
if (!A_IsAdmin && adminMode) {
Run, *RunAs "%A_ScriptFullPath%" /autorun
ExitApp
}
; ================= ОСНОВНОЙ КОД ===================
taskmgrWasRunning := false
SetTimer, CheckTaskmgr, %checkInterval%
return
CheckTaskmgr:
Process, Exist, taskmgr.exe
taskmgrIsRunning := (ErrorLevel != 0)
if (taskmgrIsRunning) {
; Если диспетчер задач запущен — закрываем указанные программы
for index, program in programs {
Process, Exist, %program.process%
if (ErrorLevel != 0) {
if (closeMethod = "WinClose") {
WinClose, % "ahk_exe " program.process
Sleep, 300
} else if (closeMethod = "Process") {
Process, Close, %program.process%
}
}
}
taskmgrWasRunning := true
}
else if (taskmgrWasRunning) {
; Если диспетчер задач был запущен, но теперь закрыт — запускаем программы
for index, program in programs {
Process, Exist, %program.process%
if (ErrorLevel = 0) {
if (adminMode) {
Run, *RunAs "%program.path%", , Hide
} else {
Run, "%program.path%", , Hide
}
}
}
taskmgrWasRunning := false
}
return
С помощью чата gpt исправлял ошибки но появлялись другие. Не знаю что делать. Надеюсь вы поможете