一、什么是 ActiveX 控件?
        ActiveX 控件广泛用于 Internet。它们可以通过提供视频、动画内容等来增加浏览的乐趣。不过,这些程序可能出问题或者向您提供不需要的内容。在某些情况下,这些程序可被用来以您不允许的方式从计算机收集信息、破坏您的计算机上的数据、在未经您同意的情况下在您的计算机上安装软件或者允许他人远程控制您的计算机。一般软件需要用户单独下载然后执行安装,而ActiveX插件是当用户浏览到特定的网页时,IE浏览器即可自动下载并提示用户安装。 ActiveX插件安装的一个前提是必须经过用户的同意及确认。考虑到这些风险,您应该在完全信任发行商的情况下才安装这些程序。
二、ActiveXObject对象详解
       JavaScript中ActiveXObject对象是启用并返回 Automation对象的引用。
       使用方法:newObj = new ActiveXObject( servername.typename[, location])

       其中newObj是必选项。要赋值为 ActiveXObject 的变量名。
              servername是必选项。提供该对象的应用程序的名称。
              typename是必选项。要创建的对象的类型或类。
              location是可选项。创建该对象的网络服务器的名称。
        Automation服务器至少提供一类对象,例如字处理应用程序可能提供应用程序对象、文档对象和工具栏对象。
        ActiveObject的常用用法:
      (1)取得机器名,登录域及登录用户名

  1. function getusername()
  2. {
  3. var WshNetwork = new ActiveXObject("WScript.Network");
  4. alert("Domain = " + WshNetwork.UserDomain);
  5. alert("Computer Name = " + WshNetwork.ComputerName);
  6. alert("User Name = " + WshNetwork.UserName);
  7. }

(2)取得系统目录

  1. function getprocessnum()
  2. {
  3. var pnsys=new ActiveXObject("WScript.shell");
  4. pn=pnsys.Environment("PROCESS");
  5. alert(pn("WINDIR"));
  6. }

(3)返回系统中特殊目录的路径

  1. function getspecialfolder()
  2. {
  3. var mygetfolder=new ActiveXObject("WScript.shell");
  4. if(mygetfolder.SpecialFolders("Fonts")!=null)
  5. {
  6. alert(mygetfolder.SpecialFolders("Fonts"));
  7. }
  8. }

(4)取得磁盘信息 传入参数如:getdiskinfo('c')

  1. function getdiskinfo(para)
  2. {
  3. var fs=new ActiveXObject("scripting.filesystemobject");
  4. d=fs.GetDrive(para);
  5. s="卷标:" + d.VolumeName;
  6. s+="------" + "剩余空间:" + d.FreeSpace/1024/1024 + "M";
  7. s+="------" + "磁盘序列号:" + d.serialnumber;
  8. alert(s);
  9. }

(5)启动计算器

  1. function runcalc()
  2. {
  3. var calc=new ActiveXObject("WScript.shell");
  4. calc.Run("calc");
  5. }

(6)读取注册表中的值

  1. function readreg()
  2. {
  3. var myreadreg=new ActiveXObject("WScript.shell");
  4. try{
  5. alert(myreadreg.RegRead("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\NeroCheck"));
  6. }
  7. catch(e)
  8. {
  9. alert("读取的值不存在!");
  10. }
  11. }

(7)写注册表

  1. function writereg()
  2. {
  3. var mywritereg=new ActiveXObject("WScript.shell");
  4. try{
  5. mywritereg.RegWrite("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\MyTest","c:\\mytest.exe");
  6. alert("写入成功!");
  7. }
  8. catch(e)
  9. {
  10. alert("写入路径不正确!");
  11. }
  12. }

(8)删除注册表

  1. function delreg()
  2. {
  3. var mydelreg=new ActiveXObject("WScript.shell");
  4. if(confirm("是否真的删除?"))
  5. {
  6. try{
  7. mydelreg.RegDelete("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\MyTest");
  8. alert("删除成功!");
  9. }
  10. catch(e)
  11. {
  12. alert("删除路径不正确");
  13. }
  14. }
  15. }

(9)取得文件信息    调用方式如:getfileinfo('c:\\test.pdf')

  1. function getfileinfo(para)
  2. {
  3. var myfile=new ActiveXObject("scripting.filesystemobject");
  4. var fi=myfile.GetFile(para);
  5. alert("文件类型:"+fi.type+"文件大小:"+fi.size/1024/1024+"M"+"最后一次访问时间:"+fi.DateLastAccessed);
  6. }

(10)取得客户端的信息

  1. function clientInfo()
  2. {
  3. strClientInfo="availHeight=      "+window.screen.availHeight+"\n"+
  4. "availWidth=      "+window.screen.availWidth+"\n"+
  5. "bufferDepth=      "+window.screen.bufferDepth+"\n"+
  6. "colorDepth=      "+window.screen.colorDepth+"\n"+
  7. "colorEnable=      "+window.navigator.cookieEnabled+"\n"+
  8. "cpuClass=      "+window.navigator.cpuClass+"\n"+
  9. "height=      "+window.screen.height+"\n"+
  10. "javaEnable=      "+window.navigator.javaEnabled()+"\n"+
  11. "platform=      "+window.navigator.platform+"\n"+
  12. "systemLanguage=      "+window.navigator.systemLanguage+"\n"+
  13. "userLanguage=      "+window.navigator.userLanguage+"\n"+
  14. "width=      "+window.screen.width;
  15. alert(strClientInfo);
  16. }

(11)创建文件

  1. function createText1(){
  2. var fso = new ActiveXObject("Scripting.FileSystemObject");
  3. var f1 = fso.createtextfile("c:\\myjstest.txt",true);
  4. }
  5. function createText2(){
  6. var fso = new ActiveXObject("Scripting.FileSystemObject");
  7. var f1 = fso.GetFile("c:\\myjstest.txt");
  8. }

(12)调用exe文件

  1. function Run(strPath)
  2. {
  3. try
  4. {
  5. var objShell = new ActiveXObject("wscript.shell");
  6. objShell.Run('file:///D:/Program%20Files/Tencent/QQ/QQProtect/Bin/QQProtect.exe');
  7. objShell = null;
  8. }
  9. catch(e)
  10. {
  11. alert('找不到文件"'+strPath+'"(或它的组件之一)。请确定路径和文件名是否正确.')
  12. }
  13. }

ActiveXObject对象详解的更多相关文章

  1. jQuery的deferred对象详解

    jQuery的deferred对象详解请猛击下面的链接 http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_ ...

  2. Window 对象详解 转自 http://blog.csdn.net/jcx5083761/article/details/41243697

    详解HTML中的window对象和document对象 标签: HTMLwindowdocument 2014-11-18 11:03 5884人阅读 评论(0) 收藏 举报 分类: HTML& ...

  3. jQuery的deferred对象详解(转载)

    本文转载自: jQuery的deferred对象详解(转载)

  4. mvc-servlet---ServletConfig与ServletContext对象详解(转载)

    ServletConfig与ServletContext对象详解 一.ServletConfig对象    在Servlet的配置文件中,可以使用一个或多个<init-param>标签为s ...

  5. JS中的event 对象详解

    JS中的event 对象详解   JS的event对象 Event属性和方法:1. type:事件的类型,如onlick中的click:2. srcElement/target:事件源,就是发生事件的 ...

  6. JavaWeb学习----JSP内置对象详解

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  7. django中request对象详解(转载)

    django中的request对象详解 Request 我们知道当URLconf文件匹配到用户输入的路径后,会调用对应的view函数,并将  HttpRequest对象  作为第一个参数传入该函数. ...

  8. (转)javascript中event对象详解

    原文:http://jiajiale.iteye.com/blog/195906 javascript中event对象详解          博客分类: javaScript JavaScriptCS ...

  9. dom对象详解--document对象(二)

       dom对象详解--style对象 style对象 style对象和document对象下的集合对象styleSheets有关系,styleSheets是文档中所有style对象的集合,这里讲解的 ...

随机推荐

  1. lucene学习笔记:二,Lucene的框架

    Lucene总的来说是: 一个高效的,可扩展的,全文检索库. 全部用Java实现,无须配置. 仅支持纯文本文件的索引(Indexing)和搜索(Search). 不负责由其他格式的文件抽取纯文本文件, ...

  2. 单节点伪分布集群(weekend110)的Hive子项目启动顺序

    因为,我的mysql是用root用户,在/home/hadoop/app/目录下,创建的. 第一步:开启mysql服务 第二步:启动hive [hadoop@weekend110 app]$ su r ...

  3. Hadoop概念学习系列之Hadoop HA进一步深入(二十八)

    对于Hadoop里的HA,有hdfs HA和resourcemanger HA之分. 1.hdfs HA 为什么引入federation? 因为,这样能达到允许在一个集群里,有多对namenode.通 ...

  4. homework -06 围棋

    playPrev功能的实现 public void playPrev(ref GoMove gm) { Point p = gm.Point; m_colorToPlay = gm.Color; cl ...

  5. curl命令的基本用法

    我们知道在linux环境下,可以调用curl下载网页. 但curl有些高级的应用,只需要几行命令行,可能比你写多行php.python.C++的程序要快些. 下面从问题驱动的角度来谈谈curl的用法 ...

  6. (转载)Linux启动过程详解

    启动第一步--加载BIOS当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬盘 ...

  7. Spring Object/XML mapping example

    In this tutorial, we will extend last Maven + Spring hello world example by adding JDBC support, to ...

  8. Linux上svn服务器的搭建

    安装svn服务器 直接用yum安装,命令如下: #yum install -y subversion 验证是否安装成功. #svnserve --version 创建SVN版本库 在home目录下创建 ...

  9. Linux的运行级别和chkconfig用法

    Linux的运行级别和chkconfig用法        一.Linux的运行级别 在装MySQL的时候,才知道了Linux的运行级别这么一回事.汗…自己太水了…下面总结一下: 什么是运行级别呢?简 ...

  10. MD5验证工具:md5sum

    linux 下 shell命令 ,制作md5码 也用于软件的md5校验     MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改.MD5 全称是报文摘要算法(Message-Digest ...