一、什么是 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. 【hadoop代码笔记】Hadoop作业提交中EagerTaskInitializationListener的作用

    在整理FairScheduler实现的task调度逻辑时,注意到EagerTaskInitializationListener类.差不多应该是job提交相关的逻辑代码中最简单清楚的一个了. todo: ...

  2. USACO 2013 November Contest Gold 简要题解

    Problem 1. Empty Stalls 扫两遍即可. Problem 2. Line of Sight 我们发现能互相看见的一对点一定能同时看见粮仓的某一段.于是转换成有n段线段,问有多少对线 ...

  3. Spark Streaming 架构

    图 1   Spark Streaming 架构图 组件介绍:‰ Network Input Tracker : 通 过 接 收 器 接 收 流 数 据, 并 将 流 数 据 映 射 为 输 入DSt ...

  4. Spring EL Lists, Maps example

    In this article, we show you how to use Spring EL to get value from Map and List. Actually, the way ...

  5. poj 1679 http://poj.org/problem?id=1679

    http://poj.org/problem?id=1679 The Unique MST Time Limit: 1000MS   Memory Limit: 10000K Total Submis ...

  6. linux性能问题(CPU,内存,磁盘I/O,网络)

    一. CPU性能评估 1.vmstat [-V] [-n] [depay [count]] -V : 打印出版本信息,可选参数 -n : 在周期性循环输出时,头部信息仅显示一次 delay : 两次输 ...

  7. Java学习笔记(二):String

    String 在Java中String是作为引用对象存在的一种数据类型,用来保存字符串. 实例化和赋值 //直接声明 String s1 = "Hello world!"; //通 ...

  8. Objective-C中的@property

    1:@property 是什么? 在Objective-C中,@property 是声明属性的语法,它可以快速方便的为实例变量创建getter/setter方法. 2:@property 的本质? @ ...

  9. node-webkit

    最近迷上了node-webkit工程.准备搜集并整理一些东西放在这里

  10. NOSQL之旅---HBase

    最近因为项目原因,研究了Cassandra,Hbase等几个NoSQL数据库,最终决定采用HBase.在这里,我就向大家分享一下自己对HBase的理解. 在说HBase之前,我想再唠叨几句.做互联网应 ...