JS实现打开本地文件或文件夹 ActiveXObject
IE浏览器打开C盘,测试可用。
如果浏览器报错提示:ActiveXObject is not defined
Internet 选项 -> 安全 - >安全级别,调低级别
function openFileIIs(){
try{
var obj=new ActiveXObject("wscript.shell");
if(obj){
obj.Run("c:/", 1, false );
//obj.run("osk");/*打开屏幕键盘*/
//obj.Run('"'+filename+'"');
obj=null;
}
}catch(e){
alert("请确定是否存在该盘符或文件");
}
}
openFileIIs()
- avascript取得机器名,用户名,读写注册表,启动应用程序
- //javascript有个特殊的对象ActiveXObject,通过它可以访问windows的本地文件系统和应用程序,
- 比如:有的时候我们需要得到用户的机器名,用户名,得到某个文件的信息,或者读写注册表,或者启动计算器、outlook等应用程序。
- 下面是一些常用的方法,每个都经过了测试。
- <script language="JavaScript">
- //取得机器名,登录域及登录用户名
- function getusername()
- {
- var WshNetwork = new ActiveXObject("WScript.Network");
- alert("Domain = " + WshNetwork.UserDomain);
- alert("Computer Name = " + WshNetwork.ComputerName);
- alert("User Name = " + WshNetwork.UserName);
- }
- //取得系统目录
- function getprocessnum()
- {
- var pnsys=new ActiveXObject("WScript.shell");
- pn=pnsys.Environment("PROCESS");
- alert(pn("WINDIR"));
- }
- //返回系统中特殊目录的路径
- function getspecialfolder()
- {
- var mygetfolder=new ActiveXObject("WScript.shell");
- if(mygetfolder.SpecialFolders("Fonts")!=null)
- {
- alert(mygetfolder.SpecialFolders("Fonts"));
- }
- }
- //取得磁盘信息 传入参数如:getdiskinfo('c')
- function getdiskinfo(para)
- {
- var fs=new ActiveXObject("scripting.filesystemobject");
- d=fs.GetDrive(para);
- s="卷标:" + d.VolumnName;
- s+="------" + "剩余空间:" + d.FreeSpace/1024/1024 + "M";
- s+="------" + "磁盘序列号:" + d.serialnumber;
- alert(s)
- }
- //取得系统目录
- function getprocessnum()
- {
- var pnsys=new ActiveXObject("WScript.shell");
- pn=pnsys.Environment("PROCESS");
- alert(pn("WINDIR"));
- }
- //启动计算器
- function runcalc()
- {
- var calc=new ActiveXObject("WScript.shell");
- calc.Run("calc");
- }
- //读取注册表中的值
- function readreg()
- {
- var myreadreg=new ActiveXObject("WScript.shell");
- try{
- alert(myreadreg.RegRead ("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\NeroCheck"));
- }
- catch(e)
- {
- alert("读取的值不存在!");
- }
- }
- //写注册表
- function writereg()
- {
- var mywritereg=new ActiveXObject("WScript.shell");
- try{
- mywritereg.RegWrite("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\MyTest","c:\\mytest.exe");
- alert("写入成功!");
- }
- catch(e)
- {
- alert("写入路径不正确!");
- }
- }
- //删除注册表
- function delreg()
- {
- var mydelreg=new ActiveXObject("WScript.shell");
- if(confirm("是否真的删除?"))
- {
- try{
- mydelreg.RegDelete("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\MyTest");
- alert("删除成功!");
- }
- catch(e)
- {
- alert("删除路径不正确");
- }
- }
- }
- //取得文件信息 调用方式如:getfileinfo('c:\\test.pdf')
- function getfileinfo(para)
- {
- var myfile=new ActiveXObject("scripting.filesystemobject");
- var fi=myfile.GetFile(para);
- alert("文件类型:"+fi.type+"文件大小:"+fi.size/1024/1024+"M"+"最后一次访问时间:"+fi.DateLastAccessed);
- }
- //取得客户端的信息
- function clientInfo()
- {
- strClientInfo="availHeight= "+window.screen.availHeight+"\n"+
- "availWidth= "+window.screen.availWidth+"\n"+
- "bufferDepth= "+window.screen.bufferDepth+"\n"+
- "colorDepth= "+window.screen.colorDepth+"\n"+
- "colorEnable= "+window.navigator.cookieEnabled+"\n"+
- "cpuClass= "+window.navigator.cpuClass+"\n"+
- "height= "+window.screen.height+"\n"+
- "javaEnable= "+window.navigator.javaEnabled()+"\n"+
- "platform= "+window.navigator.platform+"\n"+
- "systemLanguage= "+window.navigator.systemLanguage+"\n"+
- "userLanguage= "+window.navigator.userLanguage+"\n"+
- "width= "+window.screen.width;
- alert(strClientInfo);
- }
- </script>
- //另存为excel文件并写入值
- function saveas(){
- var ExcelApp = new ActiveXObject("Excel.Application");
- var ExcelSheet = new ActiveXObject("Excel.Sheet")
- ExcelSheet.Application.Visible = true;
- ExcelSheet.ActiveSheet.Cells(1,1).Value = "This is column A, row 1";
- ExcelSheet.SaveAs("C:\\TEST.XLS");
- ExcelSheet.Application.Quit();
- alert('ok');
- }
JS实现打开本地文件或文件夹 ActiveXObject的更多相关文章
- js实现打开本地文件或文件夹
原网址:http://blog.csdn.net/cofesun/article/details/7904887javascript有个特殊的对象ActiveXObject,通过它可以访问window ...
- html JS 打开本地程序及文件
在网页打开本地应用程序示例: 一.在本地注册表自定义协议:以自定义调用Viso为例 1.在HKEY_CLASSES_ROOT下添加项ZVISIO. 2.修改ZVISIO项下的"(默认)&qu ...
- 小tips:node起一个简单服务,打开本地项目或文件浏览
1.安装nodejs 2.在项目文件夹目录下创建一个js文件,命名server.js(自定义名称),内容如下 var http = require('http'); var fs = require( ...
- node起一个简单服务,打开本地项目或文件浏览
1.安装nodejs 2.在项目文件夹目录下创建一个js文件,命名server.js(自定义名称),内容如下 var http = require('http'); var fs = require( ...
- cmd命令打开本地*.db数据文件的一些坑
昨天刚看了下sqlite数据库,用的是cmd窗口 写的,建了几个表,今天在次打开,发现.问题有点小多啊.. 我也不知道我的数据库名字后面为啥会带 (“ : ”) 下面是我的数据文件: 刚开始看了下, ...
- 【Android】打开本地的html文件
网上好多说法 但实际上说到点上的没有 不想写太长 直接进入正题 Intent intent = new Intent(Intent.ACTION_VIEW); intent.addCategory(I ...
- 第45篇 js操作打开本地程序
原文地址:http://blog.laofu.online/2017/06/10/how-js-controlApp/ 背景 假设有这样一个产品,一个web和一个winform客户端,在客户在web的 ...
- JS IE 打开本地exe程序
例: try{ //新建一个ActiveXObject对象 var exe = new ActiveXObject("wscript.shell"); var exePath = ...
- JS读取/创建本地文件及目录文件夹的方法
原文链接:http://www.cnblogs.com/ayan/archive/2013/04/22/3036072.html 注:以下操作只在IE下有效! Javascript是网页制作中离不开的 ...
随机推荐
- treesoft,couchDB,
下载 docker 镜像:docker pull docker.io/lu566/treesoft:1.0启动容器:docker run -d -p 127.0.0.1:18080:8080 dock ...
- [dev][ipsec][dpdk] strongswan/dpdk源码分析之ipsec算法配置过程
1 简述 storngswan的配置里用一种固定格式的字符串设置了用于协商的预定义算法.在包协商过程中strongswan将字符串转换为固定的枚举值封在数据包里用于传输. 协商成功之后,这组被协商选中 ...
- 小白用阿里云搭载wordpress个人博客
阿里云服务已经购买多时,却一直没时间部署内容,借着这次机会自己照着博客园园友的方式用wordpress搭建了个人博客! 创建wordpress的内容就不多说了,直接附链接来源:https://www. ...
- 我的FPGA之旅4---led流水灯
[1]输入端口不能使用reg数据类型,因为reg类型对应的FPGA内部的寄存器.这样理解:reg寄存器具有记忆功能;而wire类型数据就相当于一根连线.input输入信号用wire连线进来就好:out ...
- linux 几种服务类型
采集来自于 https://blog.csdn.net/hguisu/article/details/7453390 https://blog.csdn.net/limo120621/article/ ...
- java面试题 wait和sleep区别
sleep() 方法是线程类(Thread)的静态方法,让调用线程进入睡眠状态,让出执行机会给其他线程,等到休眠时间结束后,线程进入就绪状态和其他线程一起竞争cpu的执行时间 wait()是Objec ...
- 用php写一个99乘法表
运行结果如下
- G面经: Design Stock Price Display System
Implement a simple stock price display systemwhich will show High, Low and Last price for a given st ...
- Qt QSpinBox 和 QDoubleSpinBox
展示一个效果: QDoubleSpinBox跟QSpinBox类似,只是多了一个decimal.
- #WEB安全基础 : HTTP协议 | 0x10 扩展HTTP报文结构概念和内容编码
#以后的知识都是HTTP协议的扩展,如果精力有限可以选择暂时忽略,注意只是暂时忽略,以后的东西同样重要 HTTP传输数据时可以直接传输也可以对数据进行编码,由于编码在计算机内运行,所以会占用一些CPU ...