osamaworx Ответов: 2

как отключить ctrl+Alt+del и windows buttton с помощью C# с wpf ?


Я пытаюсь отключить ctrl+Alt+del и windows buttton с помощью C# с wpf

моя программа будет торговать Windows 7 и windows 8 .

karthik Udhayakumar

Привет,

Попробуйте этот код

защищенное переопределение void OnKeyDown(KeyEventArgs e)
{
если (клавиатура.Модификаторы == ModifierKeys.Альт &&усилителя; электронные.SystemKey == Ключ.Ф4 ||
Клавиатура.Модификаторы == ModifierKeys.Управление &&усилителя; электронные.SystemKey == Ключ.Побег)
{
е.Обработано = истина;
}
еще
{
база.OnKeyDown(e);
}
}

osamaworx

спасибо за внимание , но к сожалению это дозированная работа !

2 Ответов

Рейтинг:
5

Sampath Lokuge

Пожалуйста, проверьте ссылку ниже.Возможно, Вам это поможет.

Как отключить клавиши CTRL+ALT+DEL

еще одно звено : Можно отключить кнопки Control-Alt-Delete

Вот код c#

private void DisableTaskManager()
{
    RegistryKey regkey = default(RegistryKey);
    string keyValueInt = "1";
    string subKey = "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System";
    try {
        regkey = Registry.CurrentUser.CreateSubKey(subKey);
        regkey.SetValue("DisableTaskMgr", keyValueInt);
        regkey.Close();
    } catch (Exception ex) {
        Interaction.MsgBox(ex.Message, MsgBoxStyle.Critical, "Registry Error!");
    }

}



private void EnableTaskManager()
{
    RegistryKey regkey = default(RegistryKey);
    string keyValueInt = "0";
    //0x00000000 (0)
    string subKey = "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System";
    try {
        regkey = Registry.CurrentUser.CreateSubKey(subKey);
        regkey.SetValue("DisableTaskMgr", keyValueInt);
        regkey.Close();
    } catch (Exception ex) {
        Interaction.MsgBox(ex.Message, MsgBoxStyle.Critical, "Registry Error!");
    }

}


Вы можете использовать этот бесплатный инструмент для его преобразования: Конвертировать VB.NET до С#


osamaworx

да , спасибо , но я уже читал его , но сценарий был написан VB, я не знаком с ним, мне нужен сценарий C#.

Sampath Lokuge

Я обновил свой ответ.Пожалуйста, проверьте это.

Ron Beyer

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

osamaworx

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

Sampath Lokuge

Ладно, конечно.Без проблем :)

osamaworx

thanx слишком много это работает .. :)

Sampath Lokuge

Спасибо.Рад это слышать! Желаю удачи. :)

tlhIn`toq

25may2015 - Решение 1: отключить/включить диспетчер задач - похоже, не работает в Windows 10. MS, вероятно, переработала диспетчер задач или переместила расположение значения реестра системных политик.

LePixeL

Он прекрасно работает в windows 10..
Хотя установка DisableTaskMgr обратно в 0 не работает
Я просто удаляю ключ, когда закончу.
частный недействительными EnableTaskManager()
{
RegistryKey regkey = default(RegistryKey);
строки подраздела = "Software\корпорация Майкрософт\каталог\Windows\\CurrentVersion равное\\политика\\система";
пробовать
{
regkey = Registry.CurrentUser.CreateSubKey(подраздел);
раздел.DeleteValue("DisableTaskMgr");
раздел.Закрывать();
//MessageBox.Show("EnabledTaskMAnager");
}
поймать (исключение бывший)
{
Ящик для сообщений.Показать("Ошибка Реестра!");
}

}

Member 12923287

это работает в режиме пользователя??

Рейтинг:
2

Dave Kreskowiak

Код в другом решении отключает только Диспетчер задач. Он не отключает Ctrl-Alt-Del. Эта комбинация клавиш не может быть отключена.

Клавиша окна может быть отключена только путем написания глобального крючка клавиатуры и просто не передавая эту клавишу вверх по цепочке крючков, когда ваш код видит ее.

Кроме того, если вы пытаетесь остановить людей от остановки процессов, взлом реестра, который вы получили в решении 1, только предотвратит запуск TaskManager. Это не помешает другим утилитам делать то же самое, например TaskList и TaskKill.