一、什么是 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. [Hive - LanguageManual] Describe

    Describe Describe Database Describe Table/View/Column Display Column Statistics Describe Partition D ...

  2. post和put的区别

    post : 标识的是处理请求中资源表述的资源 put :  标识的是请求的资源表述 post : 支持多种类型的资源 put  : 支持单一的资源

  3. Spark SQL概念学习系列之Spark SQL的简介(一)

    Spark SQL提供在大数据上的SQL查询功能,类似于Shark在整个生态系统的角色,它们可以统称为SQL on Spark. 之前,Shark的查询编译和优化器依赖于Hive,使得Shark不得不 ...

  4. [转载] I wish you enough

    几天前,我在机场无意中听到一对父女告别时最后一刻的对白.广播员已经通知大家准备登机了.他们站在安检口旁边紧紧拥抱,父亲对女儿说:“我爱你,希望你一切都充足!” 女儿回答:“爸爸,我是那么满足我们在一起 ...

  5. DelphiXE7操作sqlite数据库

    准备工作: 1.用SQLiteExpertPers建立一个sqlite数据库. 2.打开delphi xe7. 一.FireDAC法 设置库联接 1.放入FDConnection1控件 2.放入FDC ...

  6. [iOS UI进阶 - 2.1] 彩票Demo v1.1

    A.需求 1.优化项目设置 2.自定义导航栏标题按钮 3.多版本处理 4.iOS6和iOS7的适配 5.设置按钮背景 6.设置值UIBarButtonItem样式   code source: htt ...

  7. String中的Indexof,LastIndexOf, Indexofany,LastIndexOfAny 的区别

    本文转载自 http://www.cnblogs.com/qinying/archive/2008/09/22/1295730.html 定位子串是指在一个字符串中寻找其中包含的子串或者某个字符.在S ...

  8. JQuery学习使用笔记 -- JQuery插件开发

    内容转载自 http://www.css88.com/archives/4821 扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间.这篇文章将概述jQuery插件开发的基本知识,最 ...

  9. Sql CLR

    using System;using System.Data;using System.Data.SqlClient;using System.Data.SqlTypes;using Microsof ...

  10. 创建类模式(一):工厂方法(Factory Method)

    定义 此模式的核心精神是封装类中不变的部分,提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦.复用和方便后期维护拓展的目的. 定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中.核心 ...