JS 通过注册表调用启动本地软件
(关键点:所有软件安装的注册表路径是不会变化的,这个注册表路径需沟通软件商家获取或者通过自己安装在注册表中查找得到)
// 调用 注册表编辑类 方法
function run_jxpgj(){//进项票管家
/*var shell = new ActiveXObject("WScript.Shell");
var exePath = shell.RegRead("HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\WOW6432Node\\CLSID\\{A9F434D7-97BE-498C-97B6-AEAA77AD451E}\\LocalServer32\\");
//据注册表信息找到本地应用程序安装路径
shell.run(exePath);*/
// 上面是简易版调用软件
var regEdit = new RegEdit();
var x = regEdit.regRead("HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\WOW6432Node\\CLSID\\{A9F434D7-97BE-498C-97B6-AEAA77AD451E}\\LocalServer32\\");
alert(x);
if(x == null || x == ""){
alert("请先下载安装软件!");
}else{
var shell = new ActiveXObject("WScript.Shell");
var exePath = shell.RegRead("HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\WOW6432Node\\CLSID\\{A9F434D7-97BE-498C-97B6-AEAA77AD451E}\\LocalServer32\\");
//根据注册表信息找到本地应用程序安装路径
shell.run(exePath);
}
}
////////////////注册表编辑类start//////////////////////
/**
* 注册表编辑器,封装对注册表的操作
*/
function RegEdit(){
this.shell = new ActiveXObject("WScript.Shell");
this.regRead = regRead;
this.regWrite = regWrite;
this.regDelete = regDelete;
}
/** 返回名为 strName 的注册键或值。
* @param strName 要读取的键或值。如果 strName 以反斜线 (\) 结束,本方法将返回键,而不是值
* @return 名为 strName 的注册键或值
*/
function regRead(strName){
var val = null;
try {
val = this.shell.regRead(strName);
} catch (e) {
alert(e.message);
}
return val;
}
/** 设置 strName 指定的注册键或值
* @param strName 要写的键或值的名称.如果 strName 以反斜线 (\) 结束,本方法将返回键,而不是值
* @param anyValue 要写入键或注册表值中的值
* @param strType 可选项。要保存到注册表中的值的数据类型REG_SZ、REG_EXPAND_SZ、REG_DWORD、REG_BINARY
*/
function regWrite(strName,anyValue,strType){
if(strType == null)
strType = "REG_SZ";
this.shell.regWrite(strName,anyValue,strType);
}
/** 从注册表中删除 strName 指定的键或值。
* @param strName 要删除的键或值的名字。如果 strName 以反斜线 (\) 结束,本方法将删除键,而不是值
*/
function regDelete(strName){
this.shell.regDelete(strName);
}
////////////////注册表编辑类end//////////////////////
JS 通过注册表调用启动本地软件的更多相关文章
- C#/WPF/WinForm/.NET程序代码实现软件程序开机自动启动的两种常用方法的示例与源码下载带详细注释-源码代码-注册表方式-启动目录快捷方式
C#/WPF/WinForm/.NET程序代码实现软件程序开机自动启动的两种常用方法的示例与源码下载带详细注释-源码代码-注册表方式-启动目录快捷方式 C#实现自动启动的方法-两种方法 源码下载地址: ...
- [荐]使用Js操作注册表
使用Js操作注册表 要操作注册表需要通过ActiveX控件调用WScript.shell对象,通过该对象的一些方法来操作. WshShell对象:可以在本地运行程序.操纵注册表内容.创建快捷方式或访问 ...
- javascript取得机器名,用户名,读写注册表,启动应用程序
javascript取得机器名,用户名,读写注册表,启动应用程序//javascript有个特殊的对象ActiveXObject,通过它可以访问windows的本地文件系统和应用程序,比如:有的时候我 ...
- js通过注册表找到本地软件安装路径并且执行
场景:用js执行本地的安装软件,如果不存在就执行安装 操作步骤: 1.前台js代码 <script type="text/javascript"> function e ...
- 用javascript技术读取注册表中软件安装位置并启动本地软件
1.首先读取注册表中本地软件安装的位置,如果未安装则无就跳转到下载页面. 2.启动软件,关闭页面. 3.如报错提示. <SCRIPT language=javascript> <! ...
- 实现HTML调用打开本地软件文件
有时候我们想要实现一个功能,就是在HTML页面点击一个链接就能调用打开本地可执行文件.就像腾讯QQ.迅雷这种. 而实现这种功能其实也很简单,就是需要我们添加修改注册表,实现自定义URL Protoco ...
- PowerShell添加或修改注册表开机启动项脚本
代码如下: $name = Read-Host "请输入开机启动项的名字(随便起)" $value = Read-Host "请输入开机启动项的值" try{ ...
- C# 将当前应用程序写入到注册表开机启动项中
在使用C#进行应用程序的开发过程中,经常有一个需求就是让应用程序开机后自动启动,这个是一个很常见的需求,最常规的做法(这里以Win7操作系统为例),打开:开始=>所有程序=>启动文件夹(路 ...
- JS判定注册表单的几个方式 及 Ajax进行用户名存在判定
最近感觉不赶紧把代码逻辑记一下梳理一下,再做的时候就容易进入"逻辑误区". 有个表单,简单点. <!DOCTYPE html> <!-- 注册表单验证,用户名格式 ...
随机推荐
- 《论文翻译》Xception
目录 深度可分离网络-Xception 注释 1. 摘要 2. 介绍 3. Inception假设 4. 卷积和分离卷积之间的联系 4. 先验工作 5. Xception 架构 6. 个人理解 单词汇 ...
- webkit vs v8
我们知道不同浏览器用的不同的渲染引擎: Tridend(IE).Gecko(FF).WebKit(Safari,Chrome,Andriod浏览器) 当然 Chrome 重构了一下 WebKit 然后 ...
- 使用MockMVC与Junit进行单体测试
1.pom.xml追加 junit spring-test 2.测试共通类 @ContextConfiguration(locations = { "classpath:springfram ...
- js 检测链接是否有效(包含跨域)
const checkUrl = function (url) { const promise = new Promise(function (resolve, reject) { if (!url) ...
- fcntl 函数
设置文件的flags,阻塞设置成非阻塞,非阻塞设置成阻塞(这连个在server开发中可以封装为基本函数) 线程引入 pthread_self 和 pthread_equal 原因 ——解决不同平台的问 ...
- arcgis python 获得arcgis安装版本和安装位置
import arcpy print(arcpy.GetInstallInfo()['Version']) 和获得ArcGIS版本和安装位置 import arcpy # Use the dictio ...
- 解决问题:OSError: mysql_config not found
通过pip install mysqlclient时报出了OSError: mysql_config not found错误,如下 Traceback (most recent call last): ...
- Discretized Streams: A Fault-Tolerant Model for Scalable Stream Processing
https://www2.eecs.berkeley.edu/Pubs/TechRpts/2012/EECS-2012-259.pdf Discretized Streams: A Fault-Tol ...
- CNCF基金会的Certified Kubernetes Administrator认证考试计划
关于CKA考试 CKA(Certified Kubernetes Administrator)是CNCF基金会(Cloud Native Computing Foundation)官方推出的Kuber ...
- (十二)class文件结构:魔数和版本
一.java体系结构 二.class格式文件概述 class文件是一种8位字节的二进制流文件, 各个数据项按顺序紧密的从前向后排列, 相邻的项之间没有间隙, 这样可以使得class文件非常紧凑, 体积 ...