Как запретить закрытие программы windows 10
Обновлено: 06.07.2024
Как зарегистрировать программу как службу?
И как потом запретить её завершение.
> vodvorezlaya (10.04.06 10:17)
> Как зарегистрировать программу как службу?
> И как потом запретить её завершение.
Прога написана мной на Дельфе и видна только в диспетчере задач, как поместить её в список служб и сделать так, что бы её никак нельзя было завершить?(через диспетчер задач)
> vodvorezlaya (10.04.06 10:57) [2]
> Прога написана мной на Дельфе и видна только в диспетчере
> задач, как поместить её в
Большое спасибо. Отлично, а на Дельфе есть подобное.
а как теперь сделать так чтобы приложение нельзя было закрыть.
поставь AllowStop в false
PS. ты терь так по кажд пункту спрашивать будешь? попробуй F1
F1 у меня английский, я как раз и ищу описание всего процесса (свойств и методов) уже 3 часа.
сенькс, уже чуть легче
а F1 у всех английский 🙂 учи инглишь :))
> vodvorezlaya (10.04.06 13:57) [6]
> а как теперь сделать так чтобы приложение нельзя было закрыть?
> .
из ограниченного юзеровского аккаунта его по-умолчанию нельзя закрыть.
← →
Игорь Шевченко © ( 2006-04-10 17:52 ) [11]
Пользователь с привилегиями администратора закроет все.
> Пользователь с привилегиями администратора закроет все.
Ну, у Local system привилегии повыше будут. Не всегда и администратор закроет.
> Чапаев © (10.04.06 18:27) [12]
> > Пользователь с привилегиями администратора закроет все.
> Ну, у Local system привилегии повыше будут. Не всегда
> и администратор закроет.
Игорь Шевченко © (10.04.06 17:52) [11]
Не все.
Есть процесс, с утра получилось.
Но, како показала практика, ЭТОТ ПРОЦЕСС НЕОБХОДИМО КОНТРОЛИРОВАТЬ И В СЛУЧАЕ ЕГО ОСТАНОВКИ ЗАПУСКАТЬ ЗАНОВО, ХЕЛП ПЛИЗ КАК ЭТО СДЕЛАТЬ.
зайди в управление службами и поставь там запуск при сбое
я просто видел проги (с драйверами которые) контролируют службы и протоколируют их, а вот как взаимодействовать между службами.
← →
Игорь Шевченко © ( 2006-04-11 10:33 ) [18]
Arazel © (11.04.06 05:57) [14]
КАК СДЕЛАТЬ ЧТОБЫ ОДНА СЛУЖБА ПЕРЕГРУЖАЛА ДРУГУЮ В СЛУЧАЕ ее остановки, У МЕНЯ там NT старый стоит там нет такого как перезагрузка в случае ошибки
> vodvorezlaya (11.04.06 15:37) [19]
> ее остановки, У МЕНЯ там NT старый стоит там нет такого
> как перезагрузка в случае ошибки
Надавать надо по рукам, кто ее останавливает.
Или тому, кто так пишет службы.
И нех так кричать.
← →
Anatoly Podgoretsky © ( 2006-04-11 15:52 ) [22]
А выключать будем клавишей Reset
А как запустить сервис в случае остановки програмно с другого?
может просто в событии OnShutdown или OnDestroy?
Я понял что проверять статус из одного процесса другим а как это сделать не хватает опыта!
> vodvorezlaya (12.04.06 08:11) [23]
а пароль поставить не пробовал? ))
Это служба тебе сказала?
И поменяй клавиатуру, у тебя клавиши западают.
Вот ты какой цвяточак аленькай!
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";
CONST
SEM_FAILCRITICALERRORS = $00000001;
SEM_NOGPFAULTERRORBOX = $00000002;
SEM_NOALIGNMENTFAULTEXCEPT = $00000004;
SEM_NOOPENFILEERRORBOX = $00008000;
SERVICE_BOOT_START = $00000000;
SERVICE_SYSTEM_START = $00000001;
SERVICE_AUTO_START = $00000002;
SERVICE_DEMAND_START = $00000003;
SERVICE_DISABLED = $00000004;
SERVICE_ERROR_IGNORE = $00000000;
SERVICE_ERROR_NORMAL = $00000001;
SERVICE_ERROR_SEVERE = $00000002;
SERVICE_ERROR_CRITICAL = $00000003;
SERVICE_QUERY_CONFIG = $0001;
SERVICE_CHANGE_CONFIG = $0002;
SERVICE_QUERY_STATUS = $0004;
SERVICE_ENUMERATE_DEPENDENTS = $0008;
SERVICE_START = $0010;
SERVICE_STOP = $0020;
SERVICE_PAUSE_CONTINUE = $0040;
SERVICE_INTERROGATE = $0080;
SERVICE_USER_DEFINED_CONTROL = $0100;
SERVICE_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED
or SERVICE_QUERY_CONFIG
or SERVICE_CHANGE_CONFIG
or SERVICE_QUERY_STATUS
or SERVICE_ENUMERATE_DEPENDENTS
or SERVICE_START
or SERVICE_STOP
or SERVICE_PAUSE_CONTINUE
or SERVICE_INTERROGATE
or SERVICE_USER_DEFINED_CONTROL);
SC_MANAGER_CONNECT = $0001;
SC_MANAGER_CREATE_SERVICE = $0002;
SC_MANAGER_ENUMERATE_SERVICE = $0004;
SC_MANAGER_LOCK = $0008;
SC_MANAGER_QUERY_LOCK_STATUS = $0010;
SC_MANAGER_MODIFY_BOOT_CONFIG = $0020;
SC_MANAGER_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED
or SC_MANAGER_CONNECT
or SC_MANAGER_CREATE_SERVICE
or SC_MANAGER_ENUMERATE_SERVICE
or SC_MANAGER_LOCK
or SC_MANAGER_QUERY_LOCK_STATUS
or SC_MANAGER_MODIFY_BOOT_CONFIG);
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;
//открываем 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);
//закрываем хэндл сервиса
CloseServiceHandle(hSVC);
end;
//закрываем хэндл SCM
CloseServiceHandle(hSCM);
end;
end.
Сенькс всем, на третий день нашёл
Если по какой-либо причине вам потребовалось заблокировать определенной программе Windows 10, 8.1 или Windows 7 доступ в Интернет, сделать это сравнительно просто, причем возможно использование как встроенных функций системы, так и сторонних бесплатных утилит для установки соответствующих ограничений.
В этой инструкции несколько способов запретить доступ к Интернету выбранных программ Windows: с помощью брандмауэра Windows вручную и простой утилиты для автоматизации этого процесса, а также с использованием стороннего файрвола. Также может быть интересно: Как заблокировать запуск программы в Windows.
Блокировка доступа программы в Интернет в брандмауэре Windows
Брандмауэр Windows — один из самых простых способов заблокировать программе доступ к Интернету, не требующий установки каких-либо сторонних средств. Шаги для блокировки будут следующими:
- Откройте панель управления (в Windows 10 это можно сделать, используя поиск в панели задач), переключите поле просмотр на «Значки», а затем откройте пункт «Брандмауэр Защитника Windows» или просто «Брандмауэр Windows».
- В открывшемся окне, слева, нажмите «Дополнительные параметры».
- Откроется окно брандмауэра в режиме повышенной безопасности. В левой панели выберите «Правило для исходящего подключения», а в правой — «Создать правило».
- Выберите «Для программы» и нажмите «Далее».
- Укажите путь к исполняемому файлу программы, которой нужно запретить доступ в Интернет.
- В следующем окне оставьте отмеченным пункт «Блокировать подключение».
- В следующем окне отметьте, для каких сетей выполнять блокировку. Если для любых — оставьте отмеченными все пункты.
- Укажите понятное для вас имя правила (это поможет его найти, если в будущем вы захотите снять блокировку) и нажмите «Готово».
- При желании можно проверить, сработала ли блокировка: как видите, у меня сработало.
Это не единственный возможный метод с помощью встроенного брандмауэра. Есть ещё один подход, который позволит легко заблокировать доступ в Интернет выбранным приложениям из Магазина Windows 10, не вводя вручную пути к ним:
- Создайте правило для всех программ, выбрав соответствующий пункт на 5-м шаге вышеприведенной инструкции.
- После создания правила, найдите его в списке, нажмите по нему мышью дважды, а затем на вкладке «Программы и службы» нажмите по кнопке «Параметры» в пункте «Пакеты приложений», отметьте «Применять к следующему пакету приложений» и укажите в списке то приложение, для которого нужно заблокировать доступ в Интернет. Например, у меня на скриншоте блокируется Edge.
- Примените сделанные настройки и проверьте их работоспособность.
В целом всё очень просто, но существует возможность даже более быстрой настройки запрета.
Автоматическое создание правил брандмауэра в Winaero OneClickFirewall
Winaero OneClickFirewall — простая бесплатная утилита для Windows, которая упрощает включение и отключение блокировки доступа программ к Интернету:
При этом, блокируя доступ, эта утилита использует тот же механизм, что и при ручном создании правил в брандмауре Windows, просто автоматизирует это.
Comodo Firewall
После установки файрвола, выполните следующие шаги для блокировки программе доступа к сети:
Примените настройки, после этого выбранная программа будет заблокирована. При необходимости разблокировать доступ, нажмите кнопку «Разблокировать приложение» в главном окне Comodo Firewall, отметьте программу и нажмите «Разблокировать».
В завершение ещё два нюанса:
- Если вы блокируете программе доступ к сети с целью отключения обновлений или каких-то функций, учитывайте, что у некоторого ПО для этих целей служит не основной исполняемый файл, который вы запускаете, а вспомогательные .exe файлы или отдельные службы. Часть для них уже есть правила в брандмауэре Windows и их достаточно найти и изменить.
- Если вы устанавливаете запреты в целях родительского контроля, возможно, лучше будет использовать иные средства, см. Родительский контроль Windows 10.
А вдруг и это будет интересно:
Почему бы не подписаться?
Рассылка новых, иногда интересных и полезных, материалов сайта remontka.pro. Никакой рекламы и бесплатная компьютерная помощь подписчикам от автора. Другие способы подписки (ВК, Одноклассники, Телеграм, Facebook, Twitter, Youtube, Яндекс.Дзен)
25.03.2019 в 00:41
Спасибо за наводку на прогу Winaero OneClickFirewall
25.03.2019 в 08:12
Зачем такие сложности? Можно просто кнопкой разорвать связь с интернетом и восстановить в любое удобное время.
25.03.2019 в 11:01
А если нам нужно пользоваться интернетом, но нужно чтобы одна конкретная программа туда не лезла и ничего не качала/не отправляла? При этом она тоже нам нужна в запущенном виде.
16.05.2019 в 23:34
Подозреваю, что это цветочки. Касперский является настоящим трояном, мониторит все действия, сливает, на какие сайты ходишь. Находясь «внутри периметра» может предоставить доступ извне любой программе
25.03.2019 в 10:46
а в ESET NOD32 Smart Security случайно не знаете как?
25.03.2019 в 10:58
25.03.2019 в 14:08
Всё очень просто, на первый взгляд кажется много… Итак: Расширенные параметры — Защита сети — Файервол — Дополнительно — Правила — Изменить — Добавить, там где направления указать Оба — Переходим вверху во вкладку Локальные, внизу где Приложения нажать на … и указать на .exe файлы той программы, которой блокируете доступ. Сохранить
25.03.2019 в 12:38
Дмитрий, я решил это просто. С помощью утилиты Easy Context Menu, там ставишь две галки на блокировать, и разблокировать доступ через брандмауэр и решено! Оба пункта появляются в контекстном меню 10 ки. Кроме этого, там много всякого разного.
26.03.2019 в 22:44
А как же утилита «Windows 10 Firewall Control»? По-моему, лучшее для этих целей: установил и дальше только жмешь кнопки «разрешить» или «запретить», когда кто-то ломится в инет.
28.10.2019 в 10:22
Как запретить выход в сеть portable-программе? Не буду же я на каждом компьютере настраивать брандмауэр.
Сайт для Настоящих Компьютерщиков
Сейчас просматривают эту тему:
а также: 1 гость, 0 скрытых пользователей.
Последние |
Что лучше ноутбук или обычный ПК? Хочу asus zenfone 5 Борьба со спамом на форуме Тотализатор апдейтов Яндекса Сайт по соционике |
Самые активные 5 т |
Случайные статьи |