Member 10410972 Ответов: 1

Отключить запуск определенных приложений


Hello everyone.
This code below is used to block run certain applications. It works, but to make the effect visible you need to restart the machine.

I would like to do this without having to restart the machine.
How can I do this without a restart?

Is there a possibility of reboot machine without restarting?
Thanks in advance.


Что я уже пробовал:

private void blockRunApp()
        {
            try
            {
             Registry.SetValue("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer", "DisallowRun", 1);

            Microsoft.Win32.RegistryKey rkey;
            rkey = Microsoft.Win32.Registry.CurrentUser.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\DisallowRun");
            rkey.SetValue("Appname", "App.exe");
            rkey.Close();
            }
            catch
            {

            }
        }

1 Ответов

Рейтинг:
9

OriginalGriff

Цитата:
Есть ли возможность перезагрузки машины без перезагрузки?
Нет. Перезагрузка означает перезапуск всей операционной системы или всего оборудования, на котором она работает.


Member 10410972

Хорошо, спасибо. Есть ли другой способ заблокировать запуск определенных приложений с помощью c# ?

OriginalGriff

Нет - проблема в том, что "не запускать список" считывается из реестра при запуске, а не каждый раз, когда вы запускаете процесс. Так что никакой перезагрузки == не известно ОС.

Также имейте в виду, что это не будет работать для всего: он игнорируется для служб, а также для всего, что использует RUNDLL32 для запуска вместо "стандартного EXE" - и что некоторые вирусы и трояны делают именно это, чтобы избежать обнаружения.