一、什么是 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. Emmet:HTML/CSS代码快速编写神器(转)

    Emmet的前身是大名鼎鼎的Zen coding,如果你从事Web前端开发的话,对该插件一定不会陌生.它使用仿CSS选择器的语法来生成代码,大大提高了HTML/CSS代码编写的速度,比如下面的演示: ...

  2. oc_转_NSInteger 和 NSNumber

    Objective-C 支持的类型有两种:基本类型和类. 基本类型,如同 C 语言中的 int 类型一样,拿来就可以直接用.而类在使用时,必须先创建一个对象,再为对象分配空间,接着做初始化和赋值.类的 ...

  3. <Araxis Merge>保存文件

    1.保存文件 在任何时候都可以使用File菜单中的Save和Save As来保存文件.使用Save将修改的部分保存回文件.使用Save As将会用新名称来保存文件.在你右击文件面板的时候也可以从快捷菜 ...

  4. 【转】一步步教你读懂NET中IL(图文详解)

    本文章以一个实际的例子,让你了解堆叠式 VM 的运作原理,并对 .NET IL(Intermediate Language)有最基本的領略,需要的朋友可以参考下  .NET CLR 和 Java VM ...

  5. Java 编程要点之并发(Concurrency)详解

    计算机用户想当然地认为他们的系统在一个时间可以做多件事.他们认为,他们可以工作在一个字处理器,而其他应用程序在下载文件,管理打印队列和音频流.即使是单一的应用程序通常也是被期望在一个时间来做多件事.例 ...

  6. Spark Streaming 原理剖析

    通过源码呈现 Spark Streaming 的底层机制. 1. 初始化与接收数据 Spark Streaming 通过分布在各个节点上的接收器,缓存接收到的流数据,并将流数 据 包 装 成 Spar ...

  7. gulp之静态资源防缓存处理

    最近,因为校友网项目开始有些规模了.开始就要考虑对静态资源进行工程自动化的管理.一讲到前端的自动化工具,大家或许都会想到Grunt,Gulp,或者百度的FIS.这三个都有各自的特点,大家可以依据自己的 ...

  8. JavaScript——以简单的方式理解闭包

    闭包,在一开始接触JavaScript的时候就听说过.首先明确一点,它理解起来确实不复杂,而且它也非常好用.那我们去理解闭包之前,要有什么基础呢?我个人认为最重要的便是作用域(lexical scop ...

  9. uva 1356 Bridge ( 辛普森积分 )

    uva 1356 Bridge ( 辛普森积分 ) 不要问我辛普森怎么来的,其实我也不知道... #include<stdio.h> #include<math.h> #inc ...

  10. UVaLive 7372 Excellence (水题,贪心)

    题意:给定 n 个数,要求把其中两个分成一组,然后加和,问所有的都分好,最小数是几. 析:贪心策略,最大和是小的相加,就是最优的. 代码如下: #pragma comment(linker, &quo ...