如何在c#窗口应用程序中禁用特殊键...?

时间:2010-03-15 04:51:11

标签: c# window

hii ....我正在开发一个窗口应用程序如何在运行应用程序时禁用像控制+ alt + del这样的特殊键,我使用keyhook方法来禁用几乎所有键,如windows,alt + f4等....

3 个答案:

答案 0 :(得分:0)

Ctrl + Alt + Del是“特殊”的原因。

你在写什么样的软件?

尤其是,你强迫我使用鼠标......

修改

即使您确实编写了新的GINA DLL,如果您可以安装它,我会感到惊讶。如果没有在测试模式等情况下运行,您将无法在Windows x64操作系统上运行。我不允许您这样做。

那么,什么样的软件要求您损坏我的操作系统安装?

答案 1 :(得分:0)

您无法禁用Ctrl + Alt + Del,它的级别相当低,否则将被视为安全风险。是否有任何特殊原因要禁用它?

如果您正在编写Kiosk风格的应用程序,则需要编写一个新的GINA DLL来捕获Ctrl-Alt-Del序列并忽略它。或者只使用不拥有 Ctrl,Alt或Del键的键盘......

答案 2 :(得分:0)

要做到这一点,有很多方法可以编写自己的gina.dll(图形识别和身份验证)。

但是通过使用windows的注册表可以轻松实现这一目的。

为此,我们必须在以下位置编辑注册表:

SOFTWARE \微软\的Windows \ CurrentVersion \政策\系统

将DisableTaskMgr的值更改为1。

这是用C#

编程的代码
using Microsoft.Win32;
public void KillCtrlAltDelete()
        {
            RegistryKey regkey;
            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)
            {
                MessageBox.Show(ex.ToString());
            }
        }