金币
UID294018
帖子
主题
积分122
注册时间2017-4-4
最后登录1970-1-1
听众
性别保密
|
欢迎您注册蒲公英
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 Ilssan 于 2019-6-24 11:01 编辑
感谢提出方法的成都Junior老师和告诉我这种方法的云南群友。
为满足数据完整性的要求,需要防止对计算机化系统数据有意无意的删除。本文简述采用ResHacker软件,修改windows系统用户界面的资源文件shell32.dll.mui,实现控制删除的方法。。该方法在win7旗舰版32位\64位;win8专业版32位\64位测试通过。
准备工作:
首先下载ResHacker软件,百度下有很多。
使用U盘winpe进入系统,复制C:\Windows\System32\zh-CN\shell.dll.mui文件到其他位置。最好复制两份,一份用来修改,一份作为原版备份用于修改出错后恢复。
文件修改:
重启电脑进入系统,打开ResHacker。
点击【文件】-【打开】,弹出菜单的【文件类型】选择【所有文件】
选定在保存位置的shell32.dll.mui文件
需要删除以下键值
1 删除快捷键-1-2052中
VK_DELETE, 28689, NOINVERT, VIRTKEY
VK_D, 28689, NOINVERT, CONTROL, VIRTKEY
VK_DELETE, 28689, NOINVERT, SHIFT, VIR
2 删除快捷键-5-2052中
VK_DELETE, 40995, NOINVERT, VIRTKEY
VK_DELETE, 40995, NOINVERT, SHIFT, VIRTKEY
VK_D, 40995, NOINVERT, CONTROL, VIRTKEY
3 删除菜单-210-2052中
MENUITEM "删除(&D)", 17, MFT_STRING, MFS_ENABLED
4 删除菜单-216-2052中
POPUP "", 32768……条目下
MENUITEM "删除(&D)", 28689, MFT_STRING, MFS_ENABLED
以上操作完成后保存文件退出ResHacker
替换文件
重启电脑进入PE系统将修改后的文件替换原C:\Windows\System32\zh-CN\路径下文件,
如果是64位系统还需要替换C:\Windows\SysWOW64\zh-CN\下同名文件。
导入文件
重启电脑,使用win+R呼出【运行】,输入命令CMD
在该DOS模式下输入命令mcbuilder,回车确定重启电脑。
重启后右键菜单里没有删除选项,快捷键win+D和delete按键无效。
如果系统出现报错可以将原版shell32.dll.mui替换回去后再次执行mcbuilder即可恢复。
建立批处理文件实现一键替换
可以建立两个批处理文件实现替换修改后文件和原版文件
右键新建文本文件后输入
@echo off
copy /y "D:\test\xiugai\shell32.dll.mui" "C:\Windows\System32\zh-CN\shell32.dll.mui"
copy /y "D:\test\xiugai\shell32.dll.mui" "C:\Windows\\SysWOW64\zh-CN \shell32.dll.mui"
mcbuilder.exe
里面的路径需要替换为实际保存的路径,如果是32位系统不需要SysWow64这行
将文本文件另存为BAT文件,需要时执行即可。
禁止在桌面显示回收站
使用win+R呼出【运行】,输入命令GPEDIT.MSC,呼出本地组策略编辑器
选择【用户配置】-【管理模板】-【桌面】-【从桌面删除回收站】,设置为【已启用】
重启后在桌面不显示回收站,无法用拖拽文件的方式删除,在右键-【个性化】-【更改桌面图标】中不能修改。
以上两种方法相结合,即可实现控制删除的目的
另外:
本方法也可以去掉剪切和移动功能,以下键值未经过测试。仅供查考。
1 快捷键1-2052 VK_X, 28696, NOINVERT, CONTROL, VIRTKEY
2 快捷键5-2052 VK_X, 28696, NOINVERT, CONTROL, VIRTKEY
3 菜单195-2052 MENUITEM "移动到当前位置(&M)", 15
4 菜单200-2052 MENUITEM "移动到当前位置(&M)", 2
5 菜单201-2052 MENUITEM "移动到当前位置(&M)", 2
6 菜单202-2052 MENUITEM "移动到当前位置(&M)", 2
7 菜单204-2052 MENUITEM "移动到当前位置(&M)", 2
8 菜单206-2052 MENUITEM "移动到当前位置(&M)", 8
9 菜单207-2052 MENUITEM "移动到当前位置(&M)", 2
10 菜单209-2052 MENUITEM "移动到当前位置(&M)", 2
11 菜单210-2052 MENUITEM "剪切(&T)", 24, MFT_STRING, MFS_ENABLED
12 菜单216-2052 POPUP "", 32832, MFT_STRING, MFS_ENABLED, 0
{… MENUITEM "剪切(&T)\tCtrl+X", 28696, MFT_STRING, MFS_ENABLED
...MENUITEM "移动到文件夹(&V)...", 28703, MFT_STRING, MFS_GRAYED
13 菜单394-2052 MENUITEM "剪切(&T)", 768, MFT_STRING, MFS_ENABLED
|
|