1-freelance.ru

Журнал "Фрилансер"
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Запретить закрытие программы windows

Запретить закрытие программы windows

Программа должна запускаться в автозапуске. Но появление ее окна при этом нежелательно. Устроят два варианта:

1. Запрет на раскрытие окна при автозапуске (только значок в трее, через еоторый можно впоследствии в нужный момент открыть окно).

2. Либо чтобы закрытие окна крестиком приводило не к закрытию окна, а к его сворачиванию (желательно в трей, не на панель задач).

Если есть решение задачи, то прошу подсказать.

Ответы

  • Изменено Farrukh Yakhyaev 24 сентября 2018 г. 9:42
  • Помечено в качестве ответа Anton Sashev Ivanov 3 октября 2018 г. 5:52
  • Помечено в качестве ответа Anton Sashev Ivanov 3 октября 2018 г. 5:52
  • Помечено в качестве ответа Anton Sashev Ivanov 3 октября 2018 г. 5:52

Все ответы

Программа должна запускаться в автозапуске. Но появление ее окна при этом нежелательно. Устроят два варианта:

1. Запрет на раскрытие окна при автозапуске (только значок в трее, через еоторый можно впоследствии в нужный момент открыть окно).

2. Либо чтобы закрытие окна крестиком приводило не к закрытию окна, а к его сворачиванию (желательно в трей, не на панель задач).

Если есть решение задачи, то прошу подсказать.

  • Предложено в качестве ответа Anton Sashev Ivanov 21 сентября 2018 г. 4:58

это однако не помешает развернуть его и закрыть. в крайнем случае прибить процесс.

что за приложение??

  • Изменено Svolotch 21 сентября 2018 г. 6:54

Это приложение для удаленного управления компьютерами Aeroadmin. Использование TeamViewer стало невозможным, т.к. приходится часто работать удаленно с разными компьютерами и NeamViewer счел это коммерческим использованием и ограничил время сеанса до нескольких секунд. Попробовал несколько бесплатных программ и остановился пока на Aeroadmin. Поставил его в автозапуск на удаленных компах, а он сразу открывает свое окно. Чем смущает неопытных пользователей, которые его просто закрывают крестиком. В результате закрывается полностью процесс Aeroadmin и при необходимости подключиться приходится долго объяснять по телефону как его запустить опять.

А по поводу вышеприведенного совета — никак не удается им воспользоваться. То "Планировщик заданий" сообщает о том, что не найден файл, то Aeroadmin опять запускается с развернутым окном. Продолжаю экспериментировать.

Это приложение для удаленного управления компьютерами Aeroadmin. Использование TeamViewer стало невозможным, т.к. приходится часто работать удаленно с разными компьютерами и NeamViewer счел это коммерческим использованием и ограничил время сеанса до нескольких секунд. Попробовал несколько бесплатных программ и остановился пока на Aeroadmin. Поставил его в автозапуск на удаленных компах, а он сразу открывает свое окно. Чем смущает неопытных пользователей, которые его просто закрывают крестиком. В результате закрывается полностью процесс Aeroadmin и при необходимости подключиться приходится долго объяснять по телефону как его запустить опять.

А по поводу вышеприведенного совета — никак не удается им воспользоваться. То "Планировщик заданий" сообщает о том, что не найден файл, то Aeroadmin опять запускается с развернутым окном. Продолжаю экспериментировать.

Разработчикам данного ПО напишите.

Но гарантий никаких.

Или вы что то не так делаете, или я дурак!? Почему то я все сделал как я сам и описал, всё гуд запускается в скрытом режиме. И функция эта работает если что! я всё проверил

Как запустить программу в терминале в фоне, без вывода какого либо текста

Несомненно, вы уже столкнулись с проблемой, когда компьютер сразу же после загрузки начал тормозить: медленно выполнять запросы, демонстрировать вращающийся синий кружочек на месте курсора, запаздывать с воспроизведением звука и т. п. Наверное, у вас возникло ощущение, будто бы ПК занят чем-то посторонним, хотя вы не загружали его массой заданий. И вы окажетесь правы – некоторые программы ещё на стадии установки требуют разрешить им запускаться в фоновом режиме. К чему это приводит и как бороться с данным явлением, мы расскажем далее.

Как отключить фоновые программы в Windows

Что такое фоновые приложения

Когда вы включаете компьютер, вместе с системой запускаются другие программы и нагружают «Диспетчер задач» своими процессами – вот, что такое те самые фоновые приложения. Оттого, что ПК получает сразу несколько команд, он начинает замедляться и распределять очередность выполнения в приоритетном порядке, поэтому вы можете долго ждать реакции на свой запрос. Как мы уже упоминали, при установке или первом запуске некоторые приложения просят разрешения активизироваться вместе с ОС, либо просто уведомляют об этом пользователя.

Фоновые приложения

Чаще всего так поступают следующие программы:

  1. Мессенджеры: Skype, ICQ, Viber (версия для ПК) и т. п. Они преследуют цель вовремя информировать вас о поступающих звонках и сообщениях.
  2. Антивирусы – чтобы немедленно обеспечить безопасность компьютера.
  3. Менеджеры загрузок, типа Torrent.
  4. Различные рекламные утилиты, которые идут в довесок к бесплатным программам, типа «Игры онлайн», «Очистка диска» и т. п.
  5. Вирусное ПО, стремящееся контролировать все процессы на компьютере.
Читайте так же:
Защитник виндовс 10 не обновляется

Если после загрузки системы открывается окно какой-то программы, например, Skype, значит, приложение работает в фоновом режиме. Некоторые утилиты могут автоматически запускаться и функционировать, не афишируя своей деятельности, но в «Диспетчере задач» это отображается. Конечно, много фоновых процессов, запущенных практически разом, приводят к перегрузке ОЗУ и ЦП и зависанию системы.

Как работает фоновый режим

Запущенное приложение работает на переднем плане, пока отображается на экране мобильного устройства или используется пользователем: галерея, браузер, музыкальный проигрыватель и т.д. Если же покинуть приложение при помощи кнопки «возврат на главный экран», программа не закрывается, а сворачивается в фон.

При наличии активных действий, например воспроизведение музыки, утилита продолжает работать. В ином случае программа ставится на паузу и хранится в кэше оперативной памяти. При достаточном объеме вызванное вновь приложение из меню «запущенных программ» продолжит работать с последнего места остановки.

Закрытие приложения происходит в случае, если соответствующую функцию выбрал пользователь либо система нуждается в освобождении оперативной памяти для других задач. В таком случае в памяти остаются запущенные службы определенного приложения. Назначение службы определяется функциями приложения. Например, служба JobScheduler используется для планировки задач, а SyncAdapter для синхронизации данных. При необходимости приложение автоматически запускает необходимые службы.

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

Способы выявления фоновых программ

Давайте разберемся, как найти и просмотреть список фоновых приложений в системах Windows 10 и 7. Начнём с «десятки»:

    Откройте меню «Пуск», найдите изображение зубчатого колесика и щелкните по нему.

Параметры Windows

Конфиденциальность

Фоновые приложения

Теперь находим то же самое в «семёрке»:

  1. Откройте «Пуск» — «Все программы» — «Автозагрузка».
  2. Выберите имя приложения и кликните по нему правой кнопкой, чтобы удалить из автозапуска. Не беспокойтесь, это не означает полного удаления программы с ПК – вы просто отключите функцию активации ПО вместе с системой.

Приложения с функцией автозапуска

Также перечень запустившихся приложений можно увидеть на панели задач, справа. Разверните значки, спрятанные под стрелочкой, указывающей вверх. Разумеется, таким путем можно найти только корректные и безвредные программы – остальные прячутся в «Диспетчере задач». Для его вызова нажмите Ctrl+Alt+Del, перейдите в закладку «Автозагрузка».

Перенаправление потоков ввода / вывода

Стандартный поток вывода отнюдь не обязан выводить результат в терминал. К примеру, мы можем его перенаправить в файл, например:

Однако, под каждую программу создавать файл, который к тому же будет занимать какое ни какое дисковое пространство – расточительно. Для этой задачи вполне сойдёт стандартный для Unix-like систем псевдо-файл /dev/NULL. В него можно записать всё что угодно, но нельзя ничего прочитать – этакая персональная чёрная дыра.

some_program 1> /dev/NULL

Можно увидеть, что появилась «1» перед символом перенаправления. Таким образом можно указать, какой по номеру поток мы перенаправляем. По умолчанию используется 1-ый – стандартный поток вывода.

Теперь нам нужно перенаправить стандартный поток ошибок. Сделаем мы это через перенаправление его в 1-ый (stdout), который уже перенаправлен в /dev/NULL:

some_program 2>&1 1> /dev/NULL

Если мы хотим перенаправить вывод из одного дескриптора в другой – перед номером принимающего дескриптора необходимо поставить &. Иначе – запишем в файл «1».

Как отключить работу ненужных приложений

Из предыдущей главы вы уже знаете, как отключить фоновые программы в ОС Windows 7 и как отключить фоновые процессы в ОС Windows 10, если они честно заявляют о своей деятельности. Теперь рассмотрим более сложный вариант, когда ПО скрыто, но запускается с системой и поглощает ресурсы. Итак, снова откройте «Автозагрузку» в Task manager, выделите название ПО или процесса, кликните по нему ПКМ и удалите через соответствующую опцию.

Отключение автозагрузки

И теперь самый сложный вариант для рекламного ПО, которое никоим образом не желает подчиняться командам и упорно запускается вместе с системой, а антивирус при этом сообщает, что программа абсолютно безвредна. Такие приложения лучше удалить с ПК полностью, но вначале их нужно исключить из фонового запуска, чтобы компьютер не зависал. В данном случае мы действуем через реестр – будьте внимательны, чтобы не повредить важные записи.

  1. Нажмите Win+R и в появившемся окне наберите команду «regedit» (без кавычек).
  2. В реестре найдите слева папку HKEY_CURRENT_USER и последовательно откройте: SOFTWARE/ Microsoft/Windows/CurrentVersion/ Run.

Редактор реестра

Отключенные фоновые приложения больше не будут запускаться вместе с системой – этот метод справедлив как для Windows 10, так и для 7 в любой сборке.

Файловые дескрипторы процессов в Unix-подобных системах

Каждая программа, которая запускается на Unix-подобной операционной системе имеет набор файловых дескрипторов (описателей). Дескрипторы используются для взаимодействия с потоками ввода / вывода, файлами, сокетами сети. В процессе жизнедеятельности программа может открывать новые дескрипторы и закрывать / освобождать старые.

Обычно при старте операционной системой выделяется 3 дескриптора:

  1. для стандартного ввода (stdin) – используется для получения информации от пользователя в терминале / программ, и которых пайпом перенаправили вывод;
  2. для стандартного потока вывода (stdout) – печать на терминал,
  3. для потока вывода ошибок (stderr) – печать ошибок и предупреждений (также по умолчанию на терминал)

– имеющие номера 0, 1 и 2 – соответственно.

Как закрыть фоновые процессы Windows

Если вы не хотите отключать автозапуск приложения насовсем, но фоновую работу приложения нужно временно убрать, то смотрим, как закрыть текущую службу:

  1. Снова вызовите «Диспетчер задач».
  2. Откройте вкладки: «Процессы» — «Фоновые».
  3. Отметьте нужные и кликните правой кнопкой, а затем выберите или «Завершить процесс» или «Завершить дерево процессов», чтобы удалить их из Task manager. Последнее подойдет, когда вы видите много служб, запущенных одной программой.

Снятие фонового процесса

Это можно сделать на Windows 10, 8 и 7.

Запуск программы в терминале в фоне

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

$ sleep 100 & [1] 4925 $ echo «Hello» Hello $ jobs [1]+ Running sleep 100 & $ fg 1 sleep 100 ^C

С помощью команды jobs можно получить список запущенных в сессии терминала задач. Задачи пронумерованы – по этим номерам можно поднимать задачи из фонового режима командой fg.

Таким образом, нашу программу мы можем «запустить в терминале в фоне, без вывода какого либо текста» следующим способом:
some_program 2>&1 > /dev/NULL &

Отключаем?

Напоминаю, что список установленных приложений у каждого пользователя свой, поэтому дать совет по поводу того, что нужно, а что не нужно отключать я не могу. Каждый решает данный вопрос самостоятельно, в зависимости от того, что именно создает для него проблему. Также не стоит увлекаться и отключать работу в фоновом режиме у всех элементов Windows 10, особенно если вы никогда не ощущали ее влияния на функционирование системы. И конечно же стоит помнить о том, что данным методом не стоит пытаться отключить работу в фоновом режиме у программ, которые были установлены обычным способом, поскольку они будут просто отсутствовать в данном списке. Ну, а если вас интересует какое-то конкретное приложение, то вы всегда можете поинтересоваться насчет него, задав свой вопрос в комментариях под этой статьей.

Что такое фоновый режим в андроид – куда на самом деле девается оперативная память?

Большинство пользователей Android считают, что при закрытии фоновых приложений заряд аккумулятора расходуется не так быстро и мобильное устройство в целом работает шустрее. Всех, кто верит в это, ждет большое разочарование, так как на самом деле это никак не влияет на производительность смартфона. Закрывать фоновые приложения нет необходимости, и это уже доказано многими экспертами.

Освобождение оперативной памяти и разгрузка системы

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

Запретить закрытие программы windows

> Как зарегистрировать программу как службу?
> И как потом запретить её завершение.

Для начала — написать ее как службу.
Потом — установить и зарегистрировать.
А завершать службы обычно разрешают админам.


Regards, LVT.


vodvorezlaya   ( 2006-04-10 10:57 ) [2]

Прога написана мной на Дельфе и видна только в диспетчере задач, как поместить её в список служб и сделать так, что бы её никак нельзя было завершить?(через диспетчер задач)

> Прога написана мной на Дельфе и видна только в диспетчере
> задач, как поместить её в

а как теперь сделать так чтобы приложение нельзя было закрыть.


Tirael ©   ( 2006-04-10 14:04 ) [7]

поставь AllowStop в false

PS. ты терь так по кажд пункту спрашивать будешь? попробуй F1


vodvorezlaya   ( 2006-04-10 14:44 ) [8]

F1 у меня английский, я как раз и ищу описание всего процесса (свойств и методов) уже 3 часа.


Eraser ©   ( 2006-04-10 16:03 ) [10]


> vodvorezlaya   (10.04.06 13:57) [6]


> а как теперь сделать так чтобы приложение нельзя было закрыть?
> .

из ограниченного юзеровского аккаунта его по-умолчанию нельзя закрыть.


Игорь Шевченко ©   ( 2006-04-10 17:52 ) [11]

Пользователь с привилегиями администратора закроет все.


Чапаев ©   ( 2006-04-10 18:27 ) [12]


> Пользователь с привилегиями администратора закроет все.

Ну, у Local system привилегии повыше будут. Не всегда и администратор закроет.


Leonid Troyanovsky ©   ( 2006-04-10 21:29 ) [13]


> Чапаев ©   (10.04.06 18:27) [12]

> > Пользователь с привилегиями администратора закроет все.

> Ну, у Local system привилегии повыше будут. Не всегда
> и администратор закроет.

Админ админу — рознь (волк свинье — не товарищ).


Regards, LVT.


Arazel ©   ( 2006-04-11 05:57 ) [14]

vodvorezlaya   (10.04.06 13:57) [6]
File — New — Other. — Service Application  // отлично
а как теперь сделать так чтобы приложение нельзя было закрыть.

Вариянтов много. Можно:
Скрыть
а можно и многое
Как у AVP не устрайвает?

Игорь Шевченко ©   (10.04.06 17:52) [11]
Не все.

Но, како показала практика, ЭТОТ ПРОЦЕСС НЕОБХОДИМО КОНТРОЛИРОВАТЬ И В СЛУЧАЕ ЕГО ОСТАНОВКИ ЗАПУСКАТЬ ЗАНОВО, ХЕЛП ПЛИЗ КАК ЭТО СДЕЛАТЬ.


Сергей И.   ( 2006-04-11 10:08 ) [16]

зайди в управление службами и поставь там запуск при сбое


vodvorezlaya   ( 2006-04-11 10:14 ) [17]

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


Игорь Шевченко ©   ( 2006-04-11 10:33 ) [18]

Arazel ©   (11.04.06 05:57) [14]

Все.


vodvorezlaya   ( 2006-04-11 15:37 ) [19]

КАК СДЕЛАТЬ ЧТОБЫ ОДНА СЛУЖБА ПЕРЕГРУЖАЛА ДРУГУЮ В СЛУЧАЕ ее остановки, У МЕНЯ там NT старый стоит там нет такого как перезагрузка в случае ошибки


Eraser ©   ( 2006-04-11 15:43 ) [20]


> vodvorezlaya   (11.04.06 15:37) [19]


> У МЕНЯ там NT старый стоит там нет такого как

выкинуть NT, поставить XP.

> КАК СДЕЛАТЬ ЧТОБЫ ОДНА СЛУЖБА ПЕРЕГРУЖАЛА ДРУГУЮ

Обычно так делать не надо. опять же обычно, возможно есть исключения.
Как? Можно прямо "влоб", т.е. время от времени проверять статус сервиса, если остановлен — запускать. только зачем? лучше исправить глюки в сервисе, чтобы он не "падал" от того что кто-то громко дверью хлопнул.


Leonid Troyanovsky ©   ( 2006-04-11 15:45 ) [21]


> vodvorezlaya   (11.04.06 15:37) [19]

> ее остановки, У МЕНЯ там NT старый стоит там нет такого
> как перезагрузка в случае ошибки

Надавать надо по рукам,  кто ее останавливает.
Или тому, кто так пишет службы.

Есть еще один вариант — надавать по рукам кто запускает
(бо, непонятно — на зачем).

Т.е., это — административная проблема.

И нех так кричать.


Regards, LVT.


Anatoly Podgoretsky ©   ( 2006-04-11 15:52 ) [22]

А выключать будем клавишей Reset


vodvorezlaya   ( 2006-04-12 08:11 ) [23]

Выключать RESET — именно так и надо. Я за компом не слежу и чтоб никто левый не смог ее выключить!

А как запустить сервис в случае остановки програмно с другого?

может просто в событии OnShutdown или OnDestroy?

Я понял что проверять статус из одного процесса другим а как это сделать не хватает опыта!


vodvorezlaya   ( 2006-04-12 14:50 ) [24]

Почему — то в этой службе не работает функция WinExec.


Eraser ©   ( 2006-04-12 14:52 ) [25]


> vodvorezlaya   (12.04.06 08:11) [23]

а пароль поставить не пробовал? ))


Leonid Troyanovsky ©   ( 2006-04-12 17:43 ) [26]


> vodvorezlaya   (12.04.06 14:50) [24]

Это служба тебе сказала?

И поменяй клавиатуру, у тебя клавиши западают.

type
 DWORD = LongWord;
 PDWORD = ^DWORD;
 
 BOOL = LongBool;
 PBOOL = ^BOOL;

 SERVICE_STATUS = record
   dwServiceType,
   dwCurrentState,
   dwControlsAccepted,
   dwWin32ExitCode,
   dwServiceSpecificExitCode,
   dwCheckPoint,
   dwWaitHint: DWORD;    
   end;
 PSERVICE_STATUS = ^SERVICE_STATUS;

function SetErrorMode(
 uMode: DWORD
): DWORD;
stdcall; external "kernel32.dll" name "SetErrorMode";

function ChangeServiceConfigA(
 hService,
 dwServiceType,
 dwStartType,
 dwErrorControl: DWORD;
 lpBinaryPathName,
 lpLoadOrderGroup: PAnsiChar;
 lpdwTagId: PDWORD;
 lpDependencies,
 lpServiceStartName,
 lpPassword,
 lpDisplayName: PAnsiChar
): BOOL;
stdcall; external "advapi32.dll" name "ChangeServiceConfigA";

function ChangeServiceConfigW(
 hService,
 dwServiceType,
 dwStartType,
 dwErrorControl: DWORD;
 lpBinaryPathName,
 lpLoadOrderGroup: PWideChar;
 lpdwTagId: PDWORD;
 lpDependencies,
 lpServiceStartName,
 lpPassword,
 lpDisplayName: PWideChar
): BOOL;
stdcall; external "advapi32.dll" name "ChangeServiceConfigW";

function OpenServiceA(
 hSCManager: DWORD;
 lpServiceName: PAnsiChar;
 dwDesiredAccess: DWORD
): DWORD;
stdcall; external "advapi32.dll" name "OpenServiceA";

function OpenServiceW(
 hSCManager: DWORD;
 lpServiceName: PWideChar;
 dwDesiredAccess: DWORD
): DWORD;
stdcall; external "advapi32.dll" name "OpenServiceW";

function OpenSCManagerA(
 lpMachineName,
 lpDatabaseName: PAnsiChar;
 dwDesiredAccess: DWORD
): DWORD;
stdcall; external "advapi32.dll" name "OpenSCManagerA";

function OpenSCManagerW(
 lpMachineName,
 lpDatabaseName: PWideChar;
 dwDesiredAccess: DWORD
): DWORD;
stdcall; external "advapi32.dll" name "OpenSCManagerW";

function CloseServiceHandle(
 hSCObject: DWORD
): BOOL;
stdcall; external "advapi32.dll" name "CloseServiceHandle";

function ControlService(
 //
 hService,
 dwControl: DWORD;
 lpServiceStatus: PSERVICE_STATUS
): BOOL;
stdcall; external "advapi32.dll" name "ControlService";

SERVICES_ACTIVE_DATABASEW:PWideChar      = "ServicesActive";
SERVICES_FAILED_DATABASEW:PWideChar      = "ServicesFailed";

SERVICES_ACTIVE_DATABASEA:PAnsiChar      = "ServicesActive";
SERVICES_FAILED_DATABASEA:PAnsiChar      = "ServicesFailed";

SERVICE_CONTROL_STOP                     = $00000001;
SERVICE_CONTROL_PAUSE                    = $00000002;
SERVICE_CONTROL_CONTINUE                 = $00000003;
SERVICE_CONTROL_INTERROGATE              = $00000004;
SERVICE_CONTROL_SHUTDOWN                 = $00000005;
SERVICE_CONTROL_PARAMCHANGE              = $00000006;
SERVICE_CONTROL_NETBINDADD               = $00000007;
SERVICE_CONTROL_NETBINDREMOVE            = $00000008;
SERVICE_CONTROL_NETBINDENABLE            = $00000009;
SERVICE_CONTROL_NETBINDDISABLE           = $0000000A;
SERVICE_CONTROL_DEVICEEVENT              = $0000000B;
SERVICE_CONTROL_HARDWAREPROFILECHANGE    = $0000000C;
SERVICE_CONTROL_POWEREVENT               = $0000000D;
SERVICE_CONTROL_SESSIONCHANGE            = $0000000E;

var
 hSCM,hSVC: DWORD;
 SS: SERVICE_STATUS;
begin
//подавление сообщений об ошибках со стороны Delphi Runtime
NoErrMsg := TRUE;

//подавление сообщений об ошибках со стороны системы
SetErrorMode(SEM_FAILCRITICALERRORS
 or SEM_NOGPFAULTERRORBOX
 or SEM_NOOPENFILEERRORBOX);

//открываем SCM с полным доступом (как админ)
hSCM := OpenSCManagerW( NIL,NIL,SC_MANAGER_ALL_ACCESS );

if (hSCM <> 0) then
 begin
 //открываем интересующий нас сервис
 //например, Machine Debug Manager,
 //с правами на изменение конфигурации,
 //остановку, запуск,
 //приостановку и возобновление работы
 hSVC := OpenServiceA( hSCM,"MDM",SERVICE_CHANGE_CONFIG
   or SERVICE_STOP
   or SERVICE_START
   or SERVICE_PAUSE_CONTINUE
   or SERVICE_INTERROGATE);

 if (hSVC <> 0) then
   begin
   //останавливаем MDM
   ControlService(hSVC,SERVICE_CONTROL_STOP,@SS);

   //изменяем конфигурацию сервиса
   ChangeServiceConfigA(hSVC,SERVICE_NO_CHANGE,
     SERVICE_DEMAND_START,SERVICE_NO_CHANGE,
     NIL,NIL,NIL,NIL,NIL,NIL,NIL);

Разрешить (запретить) запуск определенных программ в Windows

Если вам нужно ограничить запускаемые программы на компьютере – тогда данная статья для вас. В сегодняшней статье мы рассмотрим как с помощью групповых политик или в редакторе реестра разрешить (запретить) запуск определенных программ.

Данный способ не является категоричным, и если вы разрешите запуск только определенных программ – продвинутый пользователь сможет разрешить запуск всего, но все же ему придется поискать как это сделать.

Запретить (разрешить) запуск определенных программ с помощью групповых политик

Групповые политики есть только в Windows Pro, Enterprise или Education, если у вас домашняя версия Windows – переходите ко второму способу. Если вы хотите запретить (разрешить) запуск определенных программ другим пользователям этого компьютера – сначала выполните всё по инструкции “Как настроить групповые политики для конкретных пользователей“.

1. В строке поиска или в меню “Выполнить” (выполнить вызывается клавишами Win+R) введите gpedit.msc и нажмите клавишу Enter.

2016041820-min

2. Зайдите в “Конфигурация пользователя” => Административные шаблоны => “Система” => Если вы хотите запретить запуск определенных программ – откройте параметр “Не запускать указанные приложения Windows”, если вы хотите разрешить запуск определенных программ, а остальные чтобы были под запретом – откройте “Выполнять только указанные приложения Windows”

2016041815-min

Поставьте точку в поле “Включено” и нажмите на “Показать”. ВАЖНО: в некоторых версиях Windows данные действия запрещают сами групповые политики, также перестает открываться диспетчер задач и редактор реестра, что в свою очередь не дает вернуть все как было и приходится все исправлять в дополнительных параметрах загрузки системы. Чтобы такого не произошло – добавляйте в список разрешенных gpedit.msc и regedit.exe. Или создайте пользователя, которому вы хотите ограничить открытие программ и делайте данные разрешения для него, оставив себе право все изменить.

2016041816-min

В этом окошке нужно ввести приложения, которые разрешено (запрещено) запускать. Вводите название файла для запуска, если вы не знаете его – нажмите на ярлык нужной программы правой клавишей мыши, зайдите в свойства и посмотрите.

2016041817-min

Нажмите два раза на “ОК”и перезагрузите компьютер. Теперь те приложения, которые вы ввели в списке -будут открываться без проблем, а при открытии программ отсутствующих в списке – появится окно “…Обратитесь к системному администратору” (это если вы разрешили запуск только определенных программ, если вы запретили запуск определенных программ – то программы из списка не будут открываться, а все остальные будут работать).

2016041818-min

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

Запретить (разрешить) запуск определенных программ в редакторе реестра

1. В строке поиска или в меню выполнить (выполнить вызывается клавишами Win+R) введите команду regedit и нажмите клавишу Enter.

2. Перейдите по пути HKEY_CURRENT_USER Software Microsoft Windows CurrentVersion Policies => в разделе Policies откройте раздел Explorer, если его нет – нажмите на раздел Policies правой клавишей, выберите “Создать” => “Раздел” => назовите его Explorer => нажмите на раздел Explorer правой клавишей мыши, выберите “Создать” => “Параметр DWORD (32 Бита) => если вы хотите запретить определенные программы – назовите новый параметр DisallowRun , если вы хотите чтобы запускались только определенные программы, а остальные были под запретом – назовите новый параметр RestrictRun

3. Откройте параметр RestrictRun или DisallowRun => в поле “Значение” введите 1 и нажмите клавишу Enter.

4. Нажмите на раздел Explorer правой клавишей мыши, выберите “Создать” => “Раздел” => если вы хотите запретить определенные программы – назовите новый раздел DisallowRun , если вы хотите разрешить запуск определенных программ – назовите новый раздел RestrictRun

5. Нажмите на раздел RestrictRun или DisallowRun правой клавишей мыши, выберите “Создать” => “Строковый параметр” => назовите новый параметр 1

6. Важно: в некоторых версиях Windows данные действия запрещают сами групповые политики, также перестает открываться диспетчер задач и редактор реестра, что в свою очередь не дает вернуть все как было и приходится все исправлять в дополнительных параметрах загрузки системы. Чтобы такого не произошло – добавляйте в список разрешенных gpedit.msc и regedit.exe

Откройте созданный параметр => в поле “Значение” введите имя исполняемого файла программы, которую вы хотите запретить (разрешить). В нашем примере мы запрещаем (разрешаем) программу “Блокнот”, имя исполняемого файла notepad.exe => в поле “Значение вводим notepad.exe и нажимаем на “ОК”.

7. Повторите 5 и 6 пункт с инструкции столько раз, сколько нужно программ вам запретить или разрешить. Следующие создаваемые параметры называйте цифрами по порядку ( 2, 3, 4 …).

Закройте редактор реестра и перезагрузите компьютер, чтобы изменения вступили в силу. На сегодня все, если вы знаете другие способы – пишите в комментариях! Удачи Вам

А ещё у нас есть

Как отключить страницу Автозапуск в Параметрах Windows 11

Включить или отключить автозапуск для всех дисков в Windows 11

Сбросить настройки автозапуска по умолчанию в Windows 11

Включить или отключить автозапуск в Windows 11

15 комментариев

“Выполнить только указанные приложения Windows” – очень страшный по своим последствиям параметр , и жаль, что в данной статье нет предупреждения.

Этот параметр выполняется буквально. Если в нём, помимо требуемых программ, не указать его самого (то есть запуск gpedit.msc), то после нажатия ОК что-либо изменить станет невозможно. Он сам себя запрещает. В системе перестаёт работать абсолютно всё, что не было явно разрешено.

На момент написания статьи он не запрещал сам инструмент групповые политики, командную строку, диспетчер задач и т.д. В самом параметре написано, что он не запрещает данные инструменты. Но к сожалению, я только что попробовал и он действительно запретил всё, скорее всего бок в каком-то обновлении системы. Так как включил данную политику не для конкретного пользователя через mmc, а просто через gpedit.msc – она применилась ко всем пользователям данного компьютера. Вышел из ситуации удерживая клавишу shift нажал на перезагрузить – компьютер загрузился с дополнительными параметрами запуска, выбрал поиск и устранение неисправностей – дополнительные параметры – командная строка – после перезагрузки запустилась командная строка – ввел regedit и нажал enter – в открывшемся редакторе реестра нажмите раз левой клавишей мыши на HKEY_LOCAL_MACHINE (можно смотреть по картинкам в начале инструкции) – “Файл” слева вверху и выберите “Загрузить куст”- Нужно открыть системный диск и зайти в папку WindowsSystem32config Даже если у вас папка Windows была на диске C, то через командную строку она может быть на другом диске, к примеру у меня находится на С, а здесь я наше ее на диске E. То есть, получилось, что зашел в E:WindowsSystem32config – выберите Software и нажмите открыть – напишите soft и нажмите ок – потом открываем HKEY_LOCAL_MACHINESOFTMicrosoftWindowsCurrentVersionPoliciesExplorer – нажимаем на раздел explorer правой клавишей мыши и выбираем создать параметр dword (32 бита) – называем его RestrictRun – открываем и значение ставим 0, хотя оно должно быть таким по умолчанию – закрываем редактор реестра и командную строку – нажимаем продолжить. После данных действий все инструменты снова начали работать. Статью в течении пару днею подумаю как переписать, хотя опять таки, бок скорее всего с обновлением системы, данный параметр не должен был отключать данные инструменты

Благодарю за ответ.
Самая важная в нём информация – ключ:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesExplorer]
“RestrictRun “=dword:00000000

А уж способов до него добраться множество.
Например редакторы реестра из LiveCD:
Kaspersky Rescue Disk 10

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector