我们知道,Windows文件存储采用的是树型目录结构,在这个结构中,Windows桌面代表的是最上面的一层。Windows注册表中对于桌面的设置,大都放在HKEY_USERS和HKEY_CURRENT_USER中。其中,“开始”菜单中的“运行”菜单,“查找”菜单,“设置”菜单中的“控制面板”和“打印机”,都可以通过在HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer主键下新建DWORD键值来屏蔽:
●“NoClose=1”:屏蔽“关闭系统”。
●“NoRun=1”:屏蔽“运行”。
●“NoFind=1”:屏蔽“查找”。
●“NoSetFolders=1”:屏蔽“设置”菜单中的“控制面板”和“打印机”。
●“NoSetTaskBar=1”:屏蔽“设置”菜单中的“任务栏和开始菜单”。
●“NoLogOff=1”:屏蔽“注销”。
●“NoRecentDocsMenu=1”:屏蔽“文件”。
下面和程序就实现了屏蔽“开始”菜单中的“运行”、“查找”、“设置”菜单中的“控制面板”和“打印机”。
程序清单18-1:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Microsoft.Win32;
namespace RegistryDemo { public partial class fRegistry : Form { public fRegistry() { InitializeComponent(); }
private void btnRun_Click(object sender, EventArgs e) { RegistryKey software = Registry.CurrentUser.OpenSubKey("SOFTWARE", true); RegistryKey pcdesk = software.CreateSubKey("Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer"); //NoFind=1:屏蔽“查找”。 pcdesk.SetValue("NoFind", 1); //NoRun=1:屏蔽“运行”。 pcdesk.SetValue("NoRun", 1); //NoSetFolders=1:屏蔽“设置”菜单中的“控制面板”和“打印机”。 pcdesk.SetValue("NoSetFolders", 1); pcdesk.Close(); MessageBox.Show("修改成功!"); } } }