0

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

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

好吧,这没关系,但是在 Windows Vista 中,同样的操作我会在我的桌面中获得任务管理器,用户可以使用 File->New task (Run...) 菜单启动另一个应用程序。

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

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

提前致谢!果洛尔

4

4 回答 4

2

组策略是您的朋友。 这是禁用它的方法

于 2009-11-19T00:41:14.243 回答
2

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

于 2009-11-19T20:20:45.113 回答
1

这可能不是最好的解决方案,但您始终可以监视任务管理器并关闭它

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

代码在 C# 中

于 2009-11-19T00:37:59.037 回答
-1

将 taskman.exe 重命名为其他名称。

于 2009-11-19T00:36:11.100 回答