阻止用户打开开始菜单

时间:2011-02-10 07:41:15

标签: c#

我有一个程序可以阻止用户打开taskmanager和openinig开始菜单。我已经添加了禁用taskmanager的代码,现在需要阻止用户通过键盘上的Windows键启动“开始菜单”。有没有人有想法,PLZ?

3 个答案:

答案 0 :(得分:4)

据我所知,您可以减少用户访问权限,这样他们在开始菜单上几乎没有 ,除了关机/注销。

但出于道德原因,没有内置方法可以禁用开始菜单。

答案 1 :(得分:4)

IntPtr trayHandle = FindWindow("Shell_TrayWnd", null);
IntPtr buttonHandle = FindWindowEx(trayHandle, IntPtr.Zero, "Button", IntPtr.Zero);
bool result = EnableWindow(buttonHandle, false);

这三个功能是WinAPI: FindWindowFindWindowExEnableWindow

答案 2 :(得分:1)

我建议使用策略,但如果您确实需要以编程方式执行此操作,则可以尝试以下操作(不确定此支持的Windows版本)。

你必须搜索TaskBar的进程,然后你必须搜索它的所有线程才能找到开始按钮。此CodeProject文章介绍了如何执行此操作:Hiding the Taskbar and Startmenu (start orb) in Windows Vista

您可能还需要创建一些键盘挂钩来禁用用户通过某些键盘组合打开开始菜单。