如何防止在我的桌面启动TaskManager?

时间:2009-11-19 00:32:50

标签: windows winapi desktop taskmanager

我正在使用win32 API在Windows XP / Vista和7中创建一个新桌面。 这更像是拥有一个安全的桌面,我不想让任何其他应用程序在该桌面中执行。

好吧,在Windows XP中如果我按下strg + shift + Esc或strg + alt + ent,在我创建的桌面中,我看不到桌面上的任务管理器,而是在默认桌面上。

嗯,没关系,但是在Windows Vista中,做同样的事情,我在桌面上找到了任务管理器,用户可以使用File-> New task(Run ...)菜单启动另一个应用程序。

这是我的问题,阻止任务管理器显示在我创建的桌面中甚至阻止启动任务管理器的最佳方法是什么?

1)使用注册表项, 2)捕获击键? 3)还有什么???

提前致谢! Gohlool

4 个答案:

答案 0 :(得分:2)

组策略是您的朋友。 Here's how to disable it

答案 1 :(得分:2)

我假设您正在调用CreateDesktop,如果是这样,您应该能够使用仅允许访问您的程序的安全描述符锁定该桌面

答案 2 :(得分:1)

这可能不是最佳解决方案,但您可以随时监控任务管理器并将其关闭

foreach (Process clsProcess in Process.GetProcesses()) {
        if (clsProcess.ProcessName.StartsWith("taskmgr"))
        {
            clsProcess.Kill();
            return true;
        }
    }

代码在C#中

答案 3 :(得分:-1)

将taskman.exe重命名为其他内容。