可以通过javascript生成ActivexObject来修改客户端的注册表,不过只在ie下有效
以下是一个通过javascript修改注册表禁用windows任务管理器的例子,供大家参考
一般情况下,要禁用windows的任务管理器,可通过一下方式实现:
方法:开始 ------> 运行 ------> regedit(输入) -----> HKEY_CURRENT_USER\software\Microsoft\windows\currentversion\policies\system (哈哈.比较麻烦,我检查过了,没有写错的,如果没有system项,就选中policies点右键选择新建项,命名为system) -----> 新建一个名为 DisableTaskMgr 的DWORD 值,其中,这个值为 1.然后关闭注册表,您就会发现任务管理器已经被禁用了。
现在我们要通过javascript来实现这件事情,我写了个html页面,在这个页面里来做测试:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script type="text/javascript">
function disableTaskMgr(flg){
//判断浏览器环境
if(!(window.attachEvent && navigator.userAgent.indexOf('Opera') === -1)){
alert('禁用注册表的操作只在IE下有效!');
return false;
}
try{
//新建一个WScript.Shell对象
var shell = new ActiveXObject("WScript.Shell");
if(flg){
//往注册表中写入值
shell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\
CurrentVersion\\Policies\\system\\DisableTaskMgr",1,"REG_DWORD");
}else{
//往注册表中写入值
shell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\
CurrentVersion\\Policies\\system\\DisableTaskMgr",0,"REG_DWORD");
//或者删除DisableTaskMgr键也可
//删除注册表项
//shell.RegDelete("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\
CurrentVersion\\Policies\\system\\DisableTaskMgr");
}
}catch(e){
throw e;
}
}
</script>
</HEAD>
<BODY>
<button οnclick="disableTaskMgr(true)">禁用任务管理器</button>
<button οnclick="disableTaskMgr(false)">启用任务管理器</button>
</BODY>
</HTML>
可以把以上的代码保存在本地运行试试效果,可以做到禁用和解禁任务管理器。
以下是js操作注册表的采用方式,修改注册表其他地方可以仿照上面的形式
var shell = new ActiveXObject("WScript.Shell"); //读注册表 值 var key1 = shell.RegRead("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows \\CurrentVersion\\Run\\eip"); //删除注册表项 shell.RegDelete("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows \\CurrentVersion\\Run\\eip"); //往注册表中写入值 shell.RegWrite ("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows \\CurrentVersion\\Run\\eip", "C:\\eip\\eip.lnk","REG_SZ"); shell.RegWrite("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows \\CurrentVersion\\Run\\eip","c:\\eip\\eip.lnk","REG_SZ");
可通过用最后的反斜线终止 来指定项名。指定值名时最后不要包括反斜线。
类型 说明 形式
REG_SZ 字符串 字符串
REG_DWORD 数字 整数
REG_BINARY 二进制值 整数
REG_EXPAND_SZ 可扩展的字符串(例如,"%windir%\\calc.exe") 字符串