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. 【Qt】QSettings读写注册表、配置文件【转】

    简述 一般情况下,我们在开发软件过程中,都会缓存一些信息到本地,可以使用轻量级数据库sqlite,也可以操作注册表.读写配置文件. 关于QSettings的使用前面已经介绍过了,比较详细,见“更多参考 ...

  2. QSettings读写注册表、配置文件

    简述 一般情况下,我们在开发软件过程中,都会缓存一些信息到本地,可以使用轻量级数据库sqlite,也可以操作注册表.读写配置文件. 关于QSettings的使用前面已经介绍过了,比较详细,见" ...

  3. c#读写注册表示例分享

    c#读写注册表示例,示例中有详细注释. 代码: //写注册表RegistryKey regWrite;//往HKEY_CURRENT_USER主键里的Software子键下写一个名为“Test”的子键 ...

  4. 倍福TwinCAT(贝福Beckhoff)基础教程5.1 TwinCAT-3 读写注册表

    读写注册表和读写文件一样,里面涉及的输入类型比较复杂,需要参考官方范例 sSubKey是指注册表的路径 sValName是指注册表要写入的名值对的名称 eValType是一个枚举类型(而且不是什么常规 ...

  5. nim读写注册表的小例子

    nim读写注册表的小例子 2018年5月7日 15:11:58 codegay 贴一个nim读写注册表的例子,虽然简单,但是nim官方没有写windows注册表相关的文档, 我贴的例子兴许能帮大家省点 ...

  6. Inno Setup 注册表启动项 修改注册表

      //注册表启动项 [Registry] Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; ...

  7. 【转载】 C#读写注册表

    文章地址:https://blog.csdn.net/younghaiqing/article/details/61918968 自Windows95以来的所有Windows版本中,注册表是包含Win ...

  8. vc读写注册表

    注册表是Windows重要组成部分,注册表记录了大量有关电脑软硬件的信息.注册表中的值通过其名称标识.值名称由与键名相同的字符组成.值本身可以是字符串.二进制数据或者是32位无符号值.在这里我们主要运 ...

  9. 关于 JAVA 中使用 Preferences 读写注册表时要注意的地方

    要注意的只有一个地方,那就是键名或者项名不要包含大写字母,否则读不到数据. 代码是这样的: 1: Preferences preferences = Preferences.systemRoot(); ...

随机推荐

  1. 锋利的jquery学习笔记

    1.$("#tt")获取的永远都是一个jquery对象,所以要判断页面上是否存在某个对象不能像js中 if($("#tt")){ } 而是通过: ){ } ps ...

  2. Difference Between Performance Testing, Load Testing and Stress Testing

    http://www.softwaretestinghelp.com/what-is-performance-testing-load-testing-stress-testing/ Differen ...

  3. JS操作DOM常用API总结

    <JS高程>中的DOM部分写的有些繁琐,还没勇气整理,直到看到了这篇博文 Javascript操作DOM常用API总结,顿时有了一种居高临下,一览全局的感觉.不过有时间还是得自己把书里面的 ...

  4. 【avalon源码】

    1. document.getElementsByTagName('head')[0] document.head 2. 3. var IEVersion = NaN if (window.VBArr ...

  5. USB相关的网络资料

    相关资源连接: USB官网:http://www.usb.org/home <USB in a NutShell>: http://www.beyondlogic.org/usbnutsh ...

  6. Java-->多线程复制(文件指针)

    --> 这里用到两种方法...其实也不算两种,就一点点不一样而已... ---> Test 测试类 package com.dragon.java.multithreadcopy; imp ...

  7. poj 3320 技巧/尺取法 map标记

    Description Jessica's a very lovely girl wooed by lots of boys. Recently she has a problem. The fina ...

  8. 利用freemarker生成xml

    package com.mooc.freemarkerXML; import java.io.IOException; import java.io.StringWriter; import java ...

  9. 安装sklearn时出现 "ImportError: DLL load failed" 的解决方法

    如果sklearn是从 http://www.lfd.uci.edu/~gohlke/pythonlibs/#scikit-learn 中下的whl包装的 必须装他家的numpy+MKL库.如果你装的 ...

  10. JavaWeb学习记录(二十三)——文件上传与下载

    一.导入jar包