搞定这个功能,有两种办法,一种是用Vista优化大师,一种是手动更改注册表,二者殊途同归。
一、修改注册表
首先,单击“开始”菜单中“运行”选项,在出现的“运行”对话框中,输入“regedit”,按“确定”按钮后,打开系统注册表编辑器。
依次展开注册表分支项“HKEY_
CURRENT_USERS→Software→Microsoft→Windows
→Current-Version→Polices“,展开的方法是用鼠标单击注册表分支项前面的”+“按钮。
打开“Polices”分支项后,在注册表编辑器的右侧窗口中,单击鼠标右键,在弹出的右键快捷菜单中,依次选择“新建→项”(如图1),再将新建的分支项命令设为“Explorer”,如果在“Polices”中,已经有了“Explorer”这一项,此步骤可以省略。
打开新建的“Explorer”项,在注册表编辑器右侧窗口空白处右键单击,在弹出的右键快捷菜单中依次选择“新建→项→DWORD(32位)”,并将此键值重命名为“NoSaveSettings”。然后双击该项名称,在弹出的“编辑DWORD(32位)值”窗口的“数值数据”中将其值修改为“1”,基数”处选择“十六进制”,单击“确定”按钮,关闭小窗口,再关闭注册表编辑器,重新启动计算机,设置即可生效。
在注册表中“NoSaveSettings”是不能保存设置的意思,如果将其值设置为“1”,即表示此功能生效,当学生在更改桌面壁纸时,表面上看起来已经更改,但实际上,当电脑再重新启动后,对桌面的设置是不能生效的,如果以后管理员再想统一设置Vista系统桌面时,只须将“NoSaveSettings”项的值改为“0”即可。
二、使用Vista优化大师
打开Vista优化大师,点击上方的美化按钮,自动弹出Vista美化大师,直接勾选“退出时禁止保存桌面设置”,点击右下角保存设置即可。
c#编程修改注册表:
using Microsoft.Win32
不过在64位系统下面似乎有些问题
//demo code
Code
RegistryKey key = Registry.LocalMachine;
key = key.OpenSubKey(@ "SYSTEM\ControlSet001\Control\Session Manager\Environment ", true);
key.SetValue( "AutomatedTestPath ", "c:\windows\temp "); object keyval = new object();
keyval= key.GetValue( "AutomatedTestPath ");