Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/29: Рейтинг темы: голосов - 29, средняя оценка - 4.66
 Аватар для 5665tm
171 / 120 / 14
Регистрация: 17.06.2013
Сообщений: 386

Заблокировать диспетчер задач (родительский контроль)

29.09.2014, 22:49. Показов 6095. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Возникла потребность написать нечто вроде родительского контроля. Но увы, этот родительский контроль легко убивается диспетчером задач. Нагуглил такой кусок кода для отключения диспетчера через реестр

C#
1
2
3
4
5
6
7
8
9
10
11
    public void SetTaskManager(bool enable)
    {
        RegistryKey objRegistryKey = Registry.CurrentUser.CreateSubKey(
            @"Software\Microsoft\Windows\CurrentVersion\Policies\System");
        if (enable && objRegistryKey.GetValue("DisableTaskMgr") != null)
            objRegistryKey.DeleteValue("DisableTaskMgr");
        else
            objRegistryKey.SetValue("DisableTaskMgr", "1");
        objRegistryKey.Close();
 
}
Но беда, беда, возникает исключение на первой строке которое говорит о том что у меня не хватает прав доступа. Причем аналогичный код я находил на многих других ресурсах, и судя по всему у людей он нормально работает. А у меня нет =(

Пробовал создавать еще так:

C#
1
2
            RegistryKey objRegistryKey = Registry.CurrentUser.CreateSubKey(
                @"Software\Microsoft\Windows\CurrentVersion\Policies\System", RegistryKeyPermissionCheck.ReadWriteSubTree);
и пробовал добавлять к приложению app.manifest в котором включал уровень прав

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

Но итог нулевой. Может кто подсказать как быть?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.09.2014, 22:49
Ответы с готовыми решениями:

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

Родительский контроль: блокировка системы в запрещенные часы
Возникла идея написания программы &quot;Родительский контроль&quot;, для сестры. Следовательно вопросы: 1. Моя идея, в опрделенный интервал...

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

12
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
29.09.2014, 22:55
Цитата Сообщение от 5665tm Посмотреть сообщение
Возникла потребность написать нечто вроде родительского контроля. Но увы, этот родительский контроль легко убивается диспетчером задач.
Этот вопрос решается по-другому: пользователю выдаются ограниченные права,
(не администратор), родительский контроль работает под другой учеткой
(например, SYSTEM). В этом случае прихлопнуть чужой процесс пользователь
ну никак не сможет (если только он не знает пароль админа).

А запрещать диспетчер задач через реестр - это кустарщина уровня 3 класса школы.
2
 Аватар для 5665tm
171 / 120 / 14
Регистрация: 17.06.2013
Сообщений: 386
29.09.2014, 23:07  [ТС]
Цитата Сообщение от Убежденный Посмотреть сообщение
кустарщина уровня 3 класса школы.
Соседи попросили написать тулзу что бы ребенок без пароля не заходил в комп с 10 до 20, а не энтерпрайзное приложение. Что бы они в любой момент могли поставить, и оно работало, без всяких там разбирательств с ограниченными правами, и прочими непонятными простому обывателю словами. А методы как это будет работать - дело десятое.
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
29.09.2014, 23:14
Так если ребенок знает про диспетчер задач, он легко найдет способ
обойти такой "контроль". Например, откроет для себя pskill из
Sysinternals или еще что покруче.

И если уж на то пошло, я бы посоветовал использовать готовые программы
родительского контроля (кстати, в некоторые редакции Windows родконтроль
уже встроен).
0
 Аватар для 5665tm
171 / 120 / 14
Регистрация: 17.06.2013
Сообщений: 386
29.09.2014, 23:20  [ТС]
Цитата Сообщение от Убежденный Посмотреть сообщение
Так если ребенок знает про диспетчер задач
Ребенок не знает про диспетчер задач. Это так, подстраховаться. Чужие дети всегда быстро растут.

Добавлено через 3 минуты
Цитата Сообщение от Убежденный Посмотреть сообщение
И если уж на то пошло, я бы посоветовал использовать готовые программы
родительского контроля
Не подходит, боюсь мои соседи потеряются во множестве настроек и галочек) Ну и свое написать всегда интереснее.

Добавлено через 2 минуты
Им нужен такой вариант, что бы даже когда меня рядом не было, и им какой нибудь добрый дяденька переустановит винду, они могли просто установить прогу, выбрать время блокировки, пароль и не более того. А про такие слова как "родительский контроль" или "ограниченные права" они в жизни то не слышали...
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
29.09.2014, 23:20
Цитата Сообщение от 5665tm Посмотреть сообщение
возникает исключение на первой строке которое говорит о том что у меня не хватает прав доступа.
Может, надо OpenSubKey вместо CreateSubKey использовать ?

Цитата Сообщение от 5665tm Посмотреть сообщение
Ну и свое написать всегда интереснее.
Скажете это, когда соседи захотят также иметь переписку из ICQ/Skype и
контроль посещаемых сайтов
1
 Аватар для 5665tm
171 / 120 / 14
Регистрация: 17.06.2013
Сообщений: 386
29.09.2014, 23:29  [ТС]
Цитата Сообщение от Убежденный Посмотреть сообщение
Может, надо OpenSubKey вместо CreateSubKey использовать ?
objRegistryKey тогда равняется null, с вполне ожидаемыми ексепшнами на последующих строках. Да и во всех примерах что я видел использовался именно CreateSubKey
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
29.09.2014, 23:49
Цитата Сообщение от 5665tm Посмотреть сообщение
возникает исключение на первой строке которое говорит о том что у меня не хватает прав доступа.
Пробовали создавать/открывать ключ с параметрами RegistryKeyPermissionCheck и
System.Security.AccessControl.RegistrySe curity ?

Чудес ведь не бывает. Пользователь имеет полное право писать в свою ветку
HKEY_CURRENT_USER, если только кто-нибудь не поставил явные запреты.
У меня есть еще гипотеза: ключ, который Вы открываете - вообще не существует.
Например, приложение 32-битное, а система 64-битная, соответственно, мы
попадаем в ветку Software\Wow6432Node, где данного ключа нет...
1
835 / 643 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
30.09.2014, 13:23
А что там насчёт антивируса?
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
30.09.2014, 16:09
Цитата Сообщение от 5665tm Посмотреть сообщение
этот родительский контроль легко убивается диспетчером задач
А диспетчер задач легко убивается бесконечным циклом с постоянным убийством этого самого процесса. Естественно, цикл в отдельном потоке.

Добавлено через 10 минут
Пример.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
using System.Threading;
using System.Threading.Tasks;
using System.Diagnostics;
 
namespace ConsoleApplication31
{
    class Program
    {
        static void Main(string[] args)
        {
            Task.Factory.StartNew(() =>
                {
                    while (true)
                    {
                        var procceses = from proc in Process.GetProcesses()
                                        where proc.ProcessName == "taskmgr"
                                        select proc;
                        try
                        {
                            foreach (var p in procceses)
                                p.Kill();
                        }
                        catch (Exception ex)
                        {
                        }
                        Thread.Sleep(500);
                    }
                });
            Console.ReadLine();
        }
    }
}
1
835 / 643 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
30.09.2014, 16:33
Цитата Сообщение от insite2012 Посмотреть сообщение
А диспетчер задач легко убивается бесконечным циклом с постоянным убийством этого самого процесса. Естественно, цикл в отдельном потоке.
Это слишком ресурсозатратно. К тому же, кроме диспетчера процесс можно прибить и другими способами

Цитата Сообщение от insite2012 Посмотреть сообщение
Thread.Sleep(500);
А этого времени хватит, чтобы прибить, если знать, что искать
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
30.09.2014, 16:37
Цитата Сообщение от Qwertiy Посмотреть сообщение
А этого времени хватит, чтобы прибить, если знать, что искать
Qwertiy, это же пример))) Задержку я для себя поставил, чтобы интереснее было наблюдать, как процесс умирает)))
0
835 / 643 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
30.09.2014, 17:04
Цитата Сообщение от insite2012 Посмотреть сообщение
Задержку я для себя поставил, чтобы интереснее было наблюдать, как процесс умирает)))
У меня где-то есть код, который через WMI отслеживает появление процессов. Правильнее было бы убивать оттуда.
Именно отслеживает - вмещаться и отменить нельзя, насколько я понимаю - так что только узнать о запуске и прибить.

А вообще, чтобы сделать свой процесс действительно неубиваемым, надо несколько копий (8+) с постоянными проверками количества и без общих предков, т. е. процесс порождает копии и немедленно завершается, в противном случае вопрос решается прибиванием дерева процессов.

Добавлено через 2 минуты
А проблема с задержкой в том, что при большой задержке времени достаточно для прибивания, а без задержки мониторящая прога будет слишком активно жрать процессорное время.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.09.2014, 17:04
Помогаю со студенческими работами здесь

Родительский контроль
Здравствуйте, у меня такой интересный вопрос, как снять родительский контроль? что бы вы не подумали это не мне в корыстных целях, возраст...

Родительский контроль
расклад такой: поставил виндовс 7, создал 2 пользователя, администратор и стандартный. на стандартного пользователя поставлен...

Родительский контроль
Всем добрый день! Есть ли люди кто знает или подскажет, есть вайфай модем с ADSL+, и вот дома с утра до вечера играет cs 1.6 обычный,...

родительский контроль
помогите пожалуста сделать программу которая будет выполнять WinExec каждую секунду в промежутке времени тоесть начиная с 21:00 до 8:00, я...

Родительский контроль в Lubuntu
Доброго времени суток! На компе ребенка (Хотя какой он уже ребенок... 13 лет.) стоит Lubuntu. C недавнего времени это чудо научилось...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru