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是网页制作中离不开的 ...
随机推荐
- HttpServlet
HttpServlet的原理 HttpServlet抽象类中的(部分)方法 HttpServlet extends GenericServlet{ void service(ServletReques ...
- Java如何获取JSON数据中的值
场景:在接口自动化场景中,下个接口发送的请求参数,依赖上个接口请求结果中的值.需要将获取值作为全局参数引用. import java.io.File; import java.io.FileInput ...
- 使用pushstate,指定回退地址
history.pushState(null,"testname", window.location.href); window.addEventListener('popstat ...
- spring框架学习之--数据库操作增删改查
基于spring的NamedParameterJdbcTemplate操作数据库 首先在 resources 文件夹下添加数据库配置文件jdbc.properties 配置常用的数据库信息 consu ...
- Python3学习之路~8.5 SocketServer实现多并发
前面几节我们写的socket都只能实现服务端与一个客户端通信,并不能实现服务端与多客户端同时通信.接下来我们就来学习一下如何实现服务端同时与多个客户端通信,即并发. Socket Server soc ...
- [PCL]模型拟合方法——随机采样一致性
SACSegmentation封装了多种Ransac方法,包括: RandomSampleConsensus, LeastMedianSquares, MEstimatorSampleConsensu ...
- 3.2.3 SpringMVC注解式开发
SpringMVC注解式开发 1. 搭建环境 (1) 后端控制器无需实现接口 , 添加相应注解 Controller类添加注解 @Controller //该注解表将当前类交给spring容器管理 @ ...
- JMeter-正则表达式(HTML)
2019-04-26问题:需要取出交易成功,但是有黄色部分 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN& ...
- vue评论显示隐藏,JavaScript显示关闭
<template> <div id="vue_det"> <h1>{{details()}}</h1> <div>{{ ...
- Go 初体验 - 反射
首先,反射虽强大, 但不可乱用,会有性能损耗 直接上代码: 输出: 代码并不难理解,不做解释