代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  <title>~~~~</title>
 </head>
 <script language="javascript">
 function openreg(){ 
  var obj = new ActiveXObject("WScript.Shell");
  try{
   var s="HKEY_CURRENT_USER\\Software\\TopTeam\\Client\\Installed";
   var sNic = obj.RegRead(s);
   if (sNic!=null) {
    obj.run("C:\\Progra~1\\Kama\\TPClient\\TP_Client.exe");
   } 
  } catch(e){
  alert("本机没有安装客户端,需要下载安装!");
  window.open(''); } 
 }
 </script>
<body>
 <p>通过浏览器打开Topteam客户端----测试</p>
 <p> 
  <input type="button" value="进入系统" οnclick="openreg();"/> 
 </p>
</body>
</html>

  如果客户端禁止运行的话,一定是不能创建对象啦,修改IE安全设置:允许所有的active运行就可以了。不过小心自己机器的安全级别噢。

注: 这个方法的缺点是:容易出现:"Automation服务器不能创建对象" 的错误,解决办法:打开Internet Explorer “工具”菜单栏中的“选项”一栏,单击“安全”栏中的“自定义级别”选项卡,将第三项“对没有标记为安全的activex控件进行初始化和脚本运行”设置 成“启用”即可。

javascript取得机器名,用户名,读写注册表,启动应用程序

javascript取得机器名,用户名,读写注册表,启动应用程序
//javascript有个特殊的对象ActiveXObject,通过它可以访问windows的本地文件系统和应用程序,
比如:有的时候我们需要得到用户的机器名,用户名,得到某个文件的信息,或者读写注册表,或者启动计算器、outlook等应用程序。

下面是一些常用的方法,每个都经过了测试。

//取得机器名,登录域及登录用户名

<script language="JavaScript">
function getusername()
{
var WshNetwork = new ActiveXObject("WScript.Network");
alert("Domain = " + WshNetwork.UserDomain);
alert("Computer Name = " + WshNetwork.ComputerName);
alert("User Name = " + WshNetwork.UserName);
}

//取得系统目录
function getprocessnum()
{
        var pnsys=new ActiveXObject("WScript.shell");
        pn=pnsys.Environment("PROCESS");
        alert(pn("WINDIR"));
}

//返回系统中特殊目录的路径
function getspecialfolder()
{
    var mygetfolder=new ActiveXObject("WScript.shell");
    if(mygetfolder.SpecialFolders("Fonts")!=null)
    {
        alert(mygetfolder.SpecialFolders("Fonts"));
     }
}

//取得磁盘信息 传入参数如:getdiskinfo('c')
function getdiskinfo(para)
{
    var fs=new ActiveXObject("scripting.filesystemobject");
    d=fs.GetDrive(para);
    s="卷标:" + d.VolumnName;
    s+="------" + "剩余空间:" + d.FreeSpace/1024/1024 + "M";
    s+="------" + "磁盘序列号:" + d.serialnumber;
    alert(s)
}

//取得系统目录
function getprocessnum()
{
        var pnsys=new ActiveXObject("WScript.shell");
        pn=pnsys.Environment("PROCESS");
        alert(pn("WINDIR"));
}

//启动计算器
function runcalc()
{
    var calc=new ActiveXObject("WScript.shell");
    calc.Run("calc");
}

//读取注册表中的值
function readreg()
{
    var myreadreg=new ActiveXObject("WScript.shell");
    try{
        alert(myreadreg.RegRead             ("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\NeroCheck"));
     }
    catch(e)
    {
        alert("读取的值不存在!");
     }
}

//写注册表
function writereg()
{
    var mywritereg=new ActiveXObject("WScript.shell");
    try{
        mywritereg.RegWrite("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\MyTest","c:\\mytest.exe");
        alert("写入成功!");
     }
    catch(e)
    {
        alert("写入路径不正确!");
     }
}

//删除注册表
function delreg()
{
    var mydelreg=new ActiveXObject("WScript.shell");
    if(confirm("是否真的删除?"))
    {
        try{
    mydelreg.RegDelete("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\MyTest");
    alert("删除成功!");
}
catch(e)
{
    alert("删除路径不正确");
}
     }
}

//取得文件信息    调用方式如:getfileinfo('c:\\test.pdf')
function getfileinfo(para)
{
    var myfile=new ActiveXObject("scripting.filesystemobject");
    var fi=myfile.GetFile(para);
    alert("文件类型:"+fi.type+"文件大小:"+fi.size/1024/1024+"M"+"最后一次访问时间:"+fi.DateLastAccessed);
}

//取得客户端的信息
function clientInfo()
{
    strClientInfo="availHeight=      "+window.screen.availHeight+"\n"+
"availWidth=      "+window.screen.availWidth+"\n"+
"bufferDepth=      "+window.screen.bufferDepth+"\n"+
"colorDepth=      "+window.screen.colorDepth+"\n"+
"colorEnable=      "+window.navigator.cookieEnabled+"\n"+
"cpuClass=      "+window.navigator.cpuClass+"\n"+
"height=      "+window.screen.height+"\n"+
"javaEnable=      "+window.navigator.javaEnabled()+"\n"+
"platform=      "+window.navigator.platform+"\n"+
"systemLanguage=      "+window.navigator.systemLanguage+"\n"+
"userLanguage=      "+window.navigator.userLanguage+"\n"+
"width=      "+window.screen.width;
    alert(strClientInfo);   
}

</script>

JavaScript读取注册表相关推荐

  1. qsettings删除注册表_Qt QSettings读取注册表和ini | 学步园

    1.读取注册表,以读取已经安装的软件为例. 已经安装的软件信息的注册表位置: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ ...

  2. c 语言读取注册表信息,C++读取注册表的实现方法

    C++读取注册表 GetRegValue.h: #ifndef __GETREGVALUE_H__ #define __GETREGVALUE_H__ #include //------------- ...

  3. 使用扩展存储过程xp_regread读取注册表信息

    T-SQL使用扩展存储过程[master].[dbo].[xp_regread]读取注册表信息. 如下注册表: Insus.NET为了做演示,写了一个用户自定义函数[dbo].[GetServerLo ...

  4. php 读取注册表 不用wscript.shell,WebShell的检测技术_91Ri.org

    一.Webshell 的常见植入方法 -启明星辰  Leylo Trent WebShell 攻击是常见的用来控制Web 服务器的攻击方法,WebShell 文件通常是可执行的脚本文件,例如asp, ...

  5. JAVA读取注册表中的值

    需求:java动态读取注册表来调用第三方应用程序(如:qq.微信.网易云音乐等)启动,为什么说动态呢,因为使用绝对路径,每个人的电脑安装的路径并不一定相同,但注册表中的路径一般都相同,所以只要获取注册 ...

  6. java读取注册表_Java通过CMD方式读取注册表任意键值对代码实践

    需要读取如图所示注册表[HKEY_LOCAL_MACHINE\SOFTWARE\EasyDrv7]节点下的[DateTime]的值 直接上代码: package com.beibei.common.u ...

  7. 求助:Windows Service 读取注册表键值

    最近项目需要程序监控记录用户使用和打开的文件,于是做了一个使用Windows Service监控Recent文件夹中文件增加和更改的程序, 但是需要在服务程序确定Recent文件夹的路径,使用Regi ...

  8. 读取注册表REG_DWORD类型的键值

    读取注册表REG_DWORD类型的键值: DWORD dwRet = 0;  HKEY hKey;  if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SYSTEM// ...

  9. js读取注册表的键值

    try { var shell = new ActiveXObject("WScript.Shell"); --读取注册表 var  key  = shell.RegRead(&q ...

最新文章

  1. libcurl选项CURLOPT_WRITEDATA中的“坑”
  2. .net core 2.0 部署到centos 7生产环境
  3. python数据分析常用的算法_萌新向Python数据分析及数据挖掘 第三章 机器学习常用算法 第二节 线性回归算法 (上)理解篇...
  4. (筆記) 如何使用Visual C++ 6.0開發Win32 DLL? (C/C++) (VC++)
  5. 修改Linux内核的printk缓冲区(log缓冲区)大小
  6. Web前端开发学习资料分享
  7. 面试问题 - 只用位操作在ABAP里实现a+b
  8. c55x汇编语言,TMS320C55x汇编语言编程A.ppt
  9. php 子文件夹如何定义,php-子文件夹的重写规则
  10. Spark 调优 ——cache(persist)与 checkpoint
  11. Basler和Matrox的配置及调试
  12. css 全文字体大小,CSS 字体大小
  13. 嵌入式软件开发下的数据积累
  14. Citespace安装【Version Check】Your version‘s status cannot be verified due to a network connection issue
  15. java生命之树_珍惜生命的心得感想与体会
  16. java将链接生成二维码工具类
  17. 最全的厚黑学…教你怎样混社会
  18. 什么是生成器?如何创建生成器
  19. JVM 栈分配与TLAB
  20. CSS 字符间距letter-spacing属性

热门文章

  1. C#16进制数转为10进制有符号数——处理传感器16进制字节流原始数据
  2. 用python模拟通讯录功能
  3. FreeRadius : rlm_files
  4. 10.2.0.4 RAC hang住的分析-从ash基表数据查出RLM$EVTCLEANUP job异常
  5. ABAP 选择屏幕标题和ALV标题的修改
  6. 关于找工作的整个流程(简历编写,投简历,面试,笔试)经验
  7. 成为会带团队的技术人 找到人:招聘是 Leader 的责任,不是 HR 的
  8. mysql workbench怎么设置为中文(仅菜单项汉化)附带main_menu文件
  9. 京东方android面试经验,绵阳京东方面试经验
  10. Melis调试方法:GDB基本用法