SamFad Ответов: 5

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


Всем привет,

В настоящее время я работаю над проектом, который требует, чтобы клавиша CTRL+ALT+DEL была отключена. Может ли кто-нибудь, пожалуйста, дать мне подсказку о том, как решить эту проблему в VB.NET? Я буду признателен за любое решение, которое будет работать с Windows XP, Vista и Windows 7.

Спасибо!

5 Ответов

Рейтинг:
5

SamFad

Спасибо всем за Ваш вклад, потому что они заставили меня задуматься. Я нашел способ обойти это, и это установка значения 'DisableTaskmgr' в true в реестре.
Вот как я был в состоянии это выполнить:

Чтобы отключить Taskmanager:

Private Sub DisableTaskManager()
    Dim regkey As RegistryKey
    Dim keyValueInt As String = "1"
    Dim subKey As String = "Software\Microsoft\Windows\CurrentVersion\Policies\System"
    Try
        regkey = Registry.CurrentUser.CreateSubKey(subKey)
        regkey.SetValue("DisableTaskMgr", keyValueInt)
        regkey.Close()
    Catch ex As Exception
        MsgBox(ex.Message, MsgBoxStyle.Critical, "Registry Error!")
    End Try

End Sub



Для Включения Диспетчера Задач
Private Sub EnableTaskManager()
    Dim regkey As RegistryKey
    Dim keyValueInt As String = "0"    '0x00000000 (0)
    Dim subKey As String = "Software\Microsoft\Windows\CurrentVersion\Policies\System"
    Try
        regkey = Registry.CurrentUser.CreateSubKey(subKey)
        regkey.SetValue("DisableTaskMgr", keyValueInt)
        regkey.Close()
    Catch ex As Exception
        MsgBox(ex.Message, MsgBoxStyle.Critical, "Registry Error!")
    End Try

End Sub



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


Member 10042196

Как убить процесс диспетчера задач?
Не нужно возиться с API и реестром.
:)

osamaworx

Пожалуйста, я сталкиваюсь с той же проблемой , у вас есть сценарий C# для этого ?

Mahendra Saini

доступ deniend error ouccer при использовании следующего кода
Private Sub DisableTaskManager()
Дим раздела реестра в разделе реестра
Dim keyValueInt As String = " 1"
Дим подраздел как String = "программное обеспечение\Microsoft\окна\CurrentVersion равное\политики\система"
Попробуй
regkey = Registry.CurrentUser. CreateSubKey(подраздел)
раздел.SetValue ("DisableTaskMgr", keyValueInt)
раздел.Закрывать()
Поймать ex как исключение
MsgBox(ex. Message, MsgBoxStyle.Критично: "Ошибка Реестра!")
Конец Попытки

Конец Подводной Лодки

Member 11868443

не работает нелепый код............

Рейтинг:
40

Sergey Alexandrovich Kryukov

Чтобы добавить больше к ответу Уолта: это так конечно невозможно. Когда вы перехватываете какие-либо события клавиатуры, они отправляются в окно вашего приложения или системный крюк, все аналогично, но не Ctrl+Alt+Del. Так работает система, по понятным причинам.

Что же теперь делать?
Вам нужен режим киоска. Читайте об этом здесь:
Запуск веб-сайта в режиме киоска с помощью C#[^],
c# программа ctrl-alt-del экран windows 7[^].

—СА


thatraja

Да, возможно, ему нужен киоск. 5!

Sergey Alexandrovich Kryukov

- Спасибо, Раджа.
--СА

Рейтинг:
30

Dr.Walt Fair, PE

CTRL+ALT+DEL - это низкоуровневая функция Windows, поэтому я не знаю никакого хорошего способа отключить ее, кроме замены части системы Windows.

Почему вам нужно изменить способ работы Windows?


SamFad

Я работаю над приложением, которое запускается автоматически, когда студенты входят в систему. Студентам выделяется время в системе, и как только их сессия истекает, система блокирует их использование системы до тех пор, пока они не возобновят свою сессию. Но проблема в том, что некоторые студенты используют taskmanger, чтобы отключить приложение, как только они вошли в систему.

Dr.Walt Fair, PE

Похоже, вам нужно отключить Диспетчер задач, а не все функции Ctl+Alt+Del. Он обычно отключается в сетевых системах, которые я использую в Университете.

SamFad

Что-то вроде того. Пожалуйста, не могли бы вы любезно дать мне подсказку, как это сделать?

Simon_Whale

Отключение диспетчера задач Windows обычно выполняется с помощью групповой политики.

Sergey Alexandrovich Kryukov

Моей 4. То, что ОП должен находится в режиме киоска.
Пожалуйста, посмотрите мой ответ.
--СА

Рейтинг:
1

SIFNOk

Как сказал Уолт CTRL+ALT+DEL - это низкоуровневая функция Windows.... единственный возможный способ-это использование глобальных Крючков и библиотек.... пример

Блокировка Рабочего Стола Windows[^]


SamFad

Спасибо. Он работает с использованием VB6, но я хочу реализовать его на VB.Net и я буду благодарен, если вы сможете выручить меня

Rocky_Bas

Как сделать то же самое, чтобы отключить клавишу delete

Рейтинг:
0

Dave Kreskowiak

Вы не можете отключить Ctrl-Alt-Del из кода вашего приложения, даже с помощью низкоуровневого крючка клавиатуры. Причина в том, что C-A-D является частью системы безопасности Windows, а не частью какого-либо приложения пользовательского режима.

Есть способы сделать это, но, как сказал Уолт, вы должны заменить некоторые библиотеки Windows, чтобы сделать это. Это не то, что может сделать любой код пользовательского режима.

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