一、什么是 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. PageRank与社交网络模型评估

    SNS社交网络在近几年流行起来,并呈现出火爆的增长趋势.在仿制国外Facebook.twitter等成功先例的基础上,国内的人人网.新浪微博等一系列社交网络正风生水起. 这些社交网站表面上看起来十分普 ...

  2. Orchard源码分析(1):插件式的支持——模块和主题

    在Orchard,模块和主题都是可以插拔式的,在源码处理时,用类型(参考:DefaultExtensionTypes)区分,都没太大的本质区别,以下都称做模块. 插件的支持,实现分以下几步: 搜集模块 ...

  3. JAVA使用jdbc连接MYSQL简单示例

    以下展示的为JAVA使用jdbc连接MYSQL简单示例: import java.sql.DriverManager; import java.sql.ResultSet; import java.s ...

  4. 如何用十条命令在一分钟内检查Linux服务器性能

    “如果你的Linux服务器突然负载暴增,报警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在?来看Netflix性能工程团队的这篇博文,看它们通过十条命令在一分钟内对机器性能问题进行诊断 ...

  5. CF#190DIV.1

    /* CF#190DIV.1-C 题意:给你n个结点的树,给这些结点标记字母AB..Z,对于标记相同的结点路径上 的结点的标记必须有一个是大于该标记的:问是否可以标记(A是最大标记) 分析:整天思路就 ...

  6. Redis安装与调试

    Redis安装与调试 Redis安装与调试linux版本:64位CentOS 6.5 Redis版本:2.8.17  (更新到2014年10月31日) Redis官网:http://redis.io/ ...

  7. POJ 1502 MPI Maelstrom (Dijkstra)

    题目链接:http://poj.org/problem?id=1502 题意是给你n个点,然后是以下三角的形式输入i j以及权值,x就不算 #include <iostream> #inc ...

  8. hibernate id生成器配置

    1.uuid配置 <id name="tomdId" type="java.lang.String"> <column name=" ...

  9. delete数组引发的core分析

    delete [] ptr 引发了singnal 6 abort的core错误,跟踪过程发现写入ptr大量数据,引发内存越界,破坏了new数组的尾部数据保护,导致delete的时候core. 问题分析 ...

  10. 腾讯云centos6.5下部署django环境

    基于腾讯云CentOS6.5的环境 首先说下需要用到的软件 1.gcc环境 腾讯云默认是没有gcc编译器的,需要手动安装一下:yum install gcc 2.python环境 因为我用的cento ...