ActiveXObject
只有IE浏览器才支持这个构造函数,可以用这个来判断,当前是否为IE浏览器
var isIE=!!window.ActiveXObject;
在IE的不同版本下,要创建XHR对象,也需要通过这个构造函数来创建(构造时的参数不一样)。
因为ActiveXObject的使用容易存在安全问题,如IE11中报错
Automation 服务器不能创建对象
解决办法:
Internet选项-安全-自定义安全级别-启用“对未标记为可安全执行脚本的ActiveX控件初始化并执行脚本”
详解
JavaScript 中 ActiveXObject 对象是启用并返回 Automation对象的引用。
newObj = new ActiveXObject( servername.typename[, location])
- servername是必选项。提供该对象的应用程序的名称。
- typename是必选项。要创建的对象的类型或类。
- location是可选项。创建该对象的网络服务器的名称。
附件:https://files.cnblogs.com/files/hellohello/oleview_setup.zip
具体这个new ActiveXObject能创建出来什么对象,去搜索一下“VBS CreateObject”就知道了,后面举出几个例子
取得机器名,登录域及登录用户名
var WshNetwork = new ActiveXObject("WScript.Network");
console.log("Domain = " + WshNetwork.UserDomain); // Domain = YGSOFT
console.log("Computer Name = " + WshNetwork.ComputerName); // Computer Name = GRIS-LIWENJUN
console.log("User Name = " + WshNetwork.UserName); // User Name = liwenjun
Wscript.shell
获取环境变量
let pnsys = new ActiveXObject("WScript.shell");
let pn = pnsys.Environment("PROCESS");
console.log(pn("WINDIR")); // C:\Windows
执行cmd指令(启动了计算器)
var calc=new ActiveXObject("WScript.shell");
calc.Run("calc");
注册表操作(输出400)
var myreadreg = new ActiveXObject("WScript.shell");
try {
console.log(myreadreg.RegRead("HKEY_CURRENT_USER\\Console\\Git Bash\\FontWeight"));
}
catch (e) {
console.log("读取的值不存在!");
}
写入注册表
mywritereg.RegWrite("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\MyTest","c:\\mytest.exe");
删除注册表
mydelreg.RegDelete("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\MyTest");
Scripting.filesystemobject
获取磁盘信息(如C盘)
var fs = new ActiveXObject("scripting.filesystemobject");
d = fs.GetDrive('c');
s = "卷标:" + d.VolumeName;
s += "------" + "剩余空间:" + d.FreeSpace / 1024 / 1024 / 1024 + "G";
s += "------" + "磁盘序列号:" + d.serialnumber;
console.log(s)
获取文件信息
var myfile = new ActiveXObject("scripting.filesystemobject");
var fi = myfile.GetFile('D:\\DemandFlowDeptBO.java');
console.log("文件类型:" + fi.type + "文件大小:" + fi.size / 1024 / 1024 + "M" + "最后一次访问时间:" + fi.DateLastAccessed);
遍历目录
var fso = new ActiveXObject("Scripting.FileSystemObject");
var fldr = fso.GetFolder('D:\\vm');
var file = new Enumerator(fldr.files);
var folderArr = [];
var folder = new Enumerator(fldr.SubFolders);
for (; !folder.atEnd(); folder.moveNext()) {
var folderStr = String(folder.item());
folderArr.push(String(folder.item()).substring(folderStr.lastIndexOf("\\") + 1, folderStr.length));
} console.log(folderArr.join(" "));
遍历文件
var fso = new ActiveXObject("Scripting.FileSystemObject");
var fldr = fso.GetFolder(para);
var file = new Enumerator(fldr.files);
var fileArr = [];
for (; !file.atEnd(); file.moveNext()) {
var fileStr = String(file.item());
fileArr.push(String(file.item()).substring(fileStr.lastIndexOf("\\") + 1, fileStr.length));
} alert(fileArr.join(" "));
读写文件
function createText1(){
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f1 = fso.createtextfile("c:\\myjstest.txt",true);
f1.WriteLine("这是内容");
f1.close(); var kk=fso.OpenTextFile("c:\\a.txt");//打开文件
while(!kk.atEndOfLine){
document.writeln(kk.readLine());//读取文件,并输出
}
}
function createText2(){
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f1 = fso.GetFile("c:\\myjstest.txt");
}
WbemScripting.SWbemLocator
获取CPU核数
var locator = new ActiveXObject("WbemScripting.SWbemLocator"); function getCpu() {
var service = locator.ConnectServer(".");
var properties = service.ExecQuery("SELECT * FROM Win32_Processor");
var e = new Enumerator(properties); // 有阻塞
var p = e.item();
return p.LoadPercentage;
}
let data = getCpu();
console.log(data) //
ActiveXObject的更多相关文章
- Web网站中利用JavaScript中ActiveXObject对象获取硬件信息(显示器数量、分辨率)从而进行单双屏跳转
前言:最近这两天工作上,要实现一个功能,在好友阿聪的帮助下,算是比较好的解决了这个需求. B/S的Web网站,需要实现点击按钮时,根据客户端连接的显示屏(监视器)数量进行,单双屏跳转显示新页面. 由于 ...
- ActiveX控件之ActiveXObject is not defined
ActiveX控件方便用户在网页中插入各种效果,但是并不是所有浏览器都支持该控件. ActiveX是微软独有的,只有基于IE内核的浏览器才能使用. 当出现如上错误,可以将通过该控件创建的对象定义为本地 ...
- JavaScript中ActiveXObject对象
JavaScript中ActiveXObject对象是启用并返回 Automation 对象的引用.使用方法: newObj = new ActiveXObject( servername.typen ...
- javascript的window.ActiveXObject对象,区别浏览器的方法
(window.ActiveXObject)的作用,用来判断浏览器是否支持ActiveX控件,如果支持ActiveX控件,我们可以利用var xml=new ActiveXObject("M ...
- JS入门之ActiveXObject对象(转载)
JS入门之ActiveXObject对象 此对象提供自动化对象的接口. function ActiveXObject(ProgID : String [, location : String] ...
- JS、ActiveXObject、Scripting.FileSystemObject
Javascript之文件操作 (IE) 一.功能实现核心:FileSystemObject 对象 要在javascript中实现文件操作功能,主要就是依靠FileSystemobject对 ...
- new ActiveXObject("Scripting.FileSystemObject") 时抛出异常 .
使用JScript读写本地文件时,会使用Scripting.FileSystemObject控件. IE默认是不允许运行这类“未标记为安全执行脚本的ActiveX控件”的. 因此执行下行代码时: fs ...
- (转)js activexobject调用客户机exe文件
原文地址:http://blog.csdn.net/jiafugui/article/details/5364210 function Run(strPath) { try { var objShel ...
- ActiveXObject函数详解
什么是 ActiveX 控件? ActiveX 控件广泛用于 Internet.它们可以通过提供视频.动画内容等来增加浏览的乐趣.不过,这些程序可能出问题或者向您提供不需要的内容.在某些情况下,这些程 ...
- js 实现ActiveXObject("Scripting.Dictionary") 功能
/* 字典 ActiveXObject("Scripting.Dictionary") 项目中用到的ActiveXObject("Scripting.Dictionary ...
随机推荐
- VxWorks实验六 基于优先级的抢占式调度及实验的源程序和实验步骤
基于优先级的抢占式调度及实验的源程序和实验步骤 1 实验目的 1.学习并验证基于优先级的抢占式调度2 实验内容 在实验一建立的 project 中,创建3 个任务,对这三个任务使用基于优先 ...
- MySQL索引原理与慢查询
=========索引原理与慢查询======= 阅读目录 - 一.介绍 - 二.索引的原理 - 三.索引的数据结构 - 四.聚集索引与辅助索引 - 五.MyS ...
- 实现Sublime Text3中vue文件高亮显示的最有效的方法
今天第一次使用Sublime Text3软件,在实现vue文件高亮显示的过程中一直报错,经过了半天时间的不停尝试终于找到了最有效的一种解决方法!错误提示如下: 刚开始尝试了很多方法都不行,只要打开in ...
- Java中常见的坑
概述 Java是门极简风格的语言,比其它语言相比,它故意保持较少的特性,不仅在有些不常见的情况下会出些奇奇怪怪的错误,即使很一般的情况下也有可能让人栽根头.如果你习惯了别的语言,你读Java 的代码很 ...
- javascript 关于hashtable
javascript 实现HashTable(哈希表) 一.javascript哈希表简介 javascript里面是没有哈希表的,一直在java,C#中有时候用到了这一种数据结构,javascrip ...
- Java基础(变量、运算符)
第2天 Java基础语法 今日内容介绍 u 变量 u 运算符 第1章 变量 1.1 变量概述 前面我们已经学习了常量,接下来我们要学习变量.在Java中变量的应用比常量的应用要多很多.所以变量也是尤为 ...
- CSS中的定位机制
CSS3 中有三种定位机制 : 普通文档流 (text)| 浮动(float) | 定位(position) 普通文档流 就是CSS中默认的文本文档 普通流中,元素位置由文档顺序和元素性质决定,块级元 ...
- 复选框 省市区 联动(监听input的change事件)
需求:省市区三级包含复选框按钮以及文字描述.点击文字显示对应的下级地区,点击复选框选择对应的下级区域勾选. 分析:监听input的change事件当点击复选框省 选择对应的第一个市区,同时默认选中第 ...
- tomcat服务器,从前端到后台到跳转
前端页面: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <tit ...
- android动画ppt整理
案例