前端判断电脑上有没有某个程序,前端启动

一  前端方法

1.写检查的方法

新建一个protocolcheck.js文件
function _registerEvent(target, eventType, cb) {
    if (target.addEventListener) {
      target.addEventListener(eventType, cb);
      return {
        remove: function () {
          target.removeEventListener(eventType, cb);
        }
      };
    } else {
      target.attachEvent(eventType, cb);
      return {
        remove: function () {
          target.detachEvent(eventType, cb);
        }
      };
    }
  }
   
  export const openUriWithTimeoutHack = (uri, failCb, successCb) => {
   
    var timeout = setTimeout(function () {
      failCb();
      handler.remove();
    }, 1000);
   
    //handle page running in an iframe (blur must be registered with top level window)
    var target = window;
    while (target != target.parent) {
      target = target.parent;
    }
   
    var handler = _registerEvent(target, "blur", onBlur);
   
    function onBlur() {
      clearTimeout(timeout);
      handler.remove();
      successCb();
    }
   
    window.location = uri;
   
  }

2. 在组件里应用

import { openUriWithTimeoutHack } from './protocolcheck.js'
// 启动模拟仿真
    switchON = () =>{
        // 检测是否存在exe
        // HKEY_CURRENT_USER\SOFTWARE\Classes\weixin
        // HKEY_CURRENT_USER\SOFTWARE\Youdao
        const data = this.selectCell.getData();
         openUriWithTimeoutHack(
            // 'weixin://',  //正常注册表名称
            `putty://telnet/root@${data.ip}:8081`, //ip地址 业务需要
            () => {
                console.log("未安装");
                const params = {
                    title: '消息确认',
                    content: '未安装,是否下载链接关系软件?',
                    okText: '是',
                    cancelText: '否',
                    oK: this.exportOk,
                    icon: false
                }
                showConfirm(params)
            },
            () => {
                console.log("已安装,自动唤起");
            }
        );
    }
<Button onClick={()=>switchON()}>打开</Button>

二:在电脑上查看注册表,并添加

1.新建一个putty.reg文件,填模板内容(以putty为例)

 2.编辑内容,将软件标识和启动路径换成你自己的,保存关闭后双击运行 

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Classes\putty] // 软件标识,注册表HKEY_CLASSES_ROOT中可看
@="putty" // 软件标识
"URL Protocol"="‪C:\\Users\\pc\\Desktop\\putty.exe" // 软件启动路径

[HKEY_CURRENT_USER\SOFTWARE\Classes\putty\DefaultIcon] // 软件标识
@="C:\\Users\\pc\\Desktop\\putty.exe,1" //软件启动路径

[HKEY_CURRENT_USER\SOFTWARE\Classes\putty\shell] // 软件标识

[HKEY_CURRENT_USER\SOFTWARE\Classes\putty\shell\open] // 软件标识

[HKEY_CURRENT_USER\SOFTWARE\Classes\putty\shell\open\command] // 软件标识
@="\"C:\\Users\\pc\\Desktop\\putty.exe\" \"%1\""  //软件启动路径

3.win+R 输入 regedit,点确定打开注册表编辑页面

 4.在弹出的注册表编辑器的HKEY_CURRENT_USER\SOFTWARE\Classes中搜索 putty,这个要确保唯一

 5.在前端 windows.open("putty://") 就可以打开本地的exe程序 或者开头一里头的引用方法

参考文章:前端判断本地是否安装exe文件,有则打开,没有提醒下载_Dreadom的博客-CSDN博客

将本地exe程序添加到注册表,前端启动_为exe文件添加注册表信息_lanren312的博客-CSDN博客

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值