html调用点击运行本地py文件,实现HTML调用打开本地软件文件
有時候我們想要實現一個功能,就是在HTML頁面點擊一個鏈接就能調用打開本地可執行文件。就像騰訊QQ、迅雷這種。
而實現這種功能其實也很簡單,就是需要我們添加修改注冊表,實現自定義URL Protocol協議。
自定義URL Protocol 協議
一些應用軟件可以在瀏覽器中點擊一個url后自動啟動,并執行操作。
1.??win+r打開注冊表,輸入regedit進入注冊表
2. 在注冊表 左邊最上面HKEY_CLASSES_ROOT那個樹右鍵新建——項。該項的名稱自己命名,其實該名稱也是協議的名稱,我們調用的時候就是根據該協議調用的,而我這里隨便起了一個:ZZO。
3. 然后在該項中右鍵->新建->字符串值,創建一個URL Protocol的值,其中數據默認為空。
4. 然后在ZZO下新建->項,名字為DefaultIcon
5. 在ZZO下新建->項,名稱為shell。并在shell下新建名為open的項。然后在open下新建名為command的項
6. 然后分別修改DefaultIcon 和 command 的值為要調用的程序完整路徑.
比如我這里要調用的是QQ,完整路徑為:D:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe
7. 然后我們在html頁面添加一個a標簽
open
8. 點擊頁面按鈕
通過網站調用可執行程序,主要是修改注冊表,注冊 URL Protocol 協議。
注意上面 command 項的值可以為 C:\Program Files (x86)\Qiaoker\updater.exe "%1" ,這個"%1"是傳遞給 updater.exe的參數。
加了后使用是我們就可以傳參數了,
方式二:使用js調起客戶端
除了上面那種方式,我們還可以通過調用js函數實現客戶端exe程序的調用,但是這種方式局限性很大,目前只支持IE瀏覽器。
代碼如下:
function execProgram() {
var exepath = "D:\\Program Files (x86)\\Tencent\\QQMusic\\QQMusic.exe"
var ws = new ActiveXObject("WScript.Shell");
ws.Exec(exepath);
}
如果想要調用bat腳本或者vbs程序,可以將ActiveXObject 的 Exec()方法替換成Run() 方法。
function execProgram() {
var exepath = "C:\\Users\\LeBron\\Desktop\\新建.vbs"
var ws = new ActiveXObject("WScript.Shell");
ws.Run(exepath);
}
---------------------
作者:lebron3v
來源:CSDN
原文:https://blog.csdn.net/lebron3v/article/details/80736744
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
打開本地STL文件并創建webgl使用的geometry
需求 打開本地STL文件 一個獨立基于webgl的viewer,會被別的網站重用 將打開文件的數據傳輸給viewer,并且在文件加載的時候顯示進度條 解決方案 #1可以使用傳統的html5 api來打 ...
js 判斷是否可以打開本地軟件
js判斷時候可以打開本地的軟件或者插件 點擊一個按鈕,打開本地的軟件,比如問題反饋,需要調起本地的郵箱,填入一些信息. 這個功能標簽有提供支持,但是如果本地沒有安裝郵箱,則無法打開, ...
JS 通過注冊表調用啟動本地軟件
(關鍵點:所有軟件安裝的注冊表路徑是不會變化的,這個注冊表路徑需溝通軟件商家獲取或者通過自己安裝在注冊表中查找得到) // 調用 注冊表編輯類 方法 function run_jxpgj(){//進項 ...
【原】使用SQLite打開本地*.db文件
1.下載安裝文件:官網下載地址:http://www.sqlite.org/download.html32位安裝包:http://www.sqlite.org/2016/sqlite-tools-wi ...
【WPF】 打開本地的文件或者文件夾
問題描述: 我做的程序中需要添加幫助文檔,我將文檔生成了CHM格式,在用戶點擊幫助按鈕時候 彈出幫助文檔. 實現方法: System.Diagnostics.Process.Start(AppDoma ...
谷歌瀏覽器不能打開本地HTML文件
打開瀏覽器右上角菜單——>更多工具——>擴展程序——>將Axure RP Extension For Chrome 0.62.crx文件拖入——>成功后,勾選相關選項 文件的下 ...
MyWebViewDemo【封裝Webview常用配置和選擇文件、打開相機、錄音、打開本地相冊的用法】
版權聲明:本文為HaiyuKing原創文章,轉載請注明出處! 前言 封裝webview的常用配置和選擇文件.打開相機.錄音.打開本地相冊的用法.[如果想要使用簡單的預覽功能,可以參考
Electron 調用系統Office軟件
通過打開本地空白文件的方式從而打開Office辦公軟件 const shell = require('electron').shell; const path = require('path'); s ...
python解析本地HTML文件
Python使用爬蟲技術時,每運行一次,本地都會訪問一次主機.為避免完成程序前調試時多次訪問主機增加主機負荷,我們可以在編寫程序前將網頁源代碼存在本地,調試時訪問本地文件即可.現在我來分享一下爬取資料 ...
隨機推薦
C++變參數模板和...操作符
https://en.wikipedia.org/wiki/Variadic_template https://msdn.microsoft.com/en-us/library/dn439779.as ...
git生成ssh key 避免每次push都要輸入賬號密碼
第一步:生成public/private rsa key pair在命令行中輸入ssh-keygen -t rsa -C "your_email@example.com" 默認在這 ...
Java知識點:內部類
內部類class文件命名規則 普通內部類.靜態內部類:\$.class,其中為外部類類名,為內部 ...
source insight 的使用
一,新建工程:project-->new project --> ok--> ok--> close 完成項目的添加 二,sourceInsight的使用 1.跳轉到標識定義處 ...
Android開發常用工具匯總
Android開發常用工具匯總,本文章不斷更新完善 一.數據庫小工具Sqlite Developer? SQLite,是一款輕型的數據庫,是遵守ACID的關系型數據庫管理系統,它的設計目標是嵌入式的, ...
Java Calendar日歷類的使用
Calendar cal = Calendar.getInstance(); // 當前年 int year = cal.get(Calendar.YEAR); // 當前月 int month = ...
js-運動函數(盒子運動)
注意move的js包在另一篇文章
流程控制之if判斷,while循環,for循環
if判斷? 什么是if判斷? 判斷一個條件如果成立則做...不成立則... 為什么要有判斷? 讓計算機像人一樣具備判斷的能力 如何用if判斷 if 條件1: code1? ? code2? ? cod ...
20155234 2016-2017-2《Java程序設計》課程總結
20155234 2016-2017-2課程總結 每周作業鏈接匯總 預備作業1:師生關系 預備作業2:優秀技能經驗 預備作業3:虛擬機linux初接觸 第一周作業:認識 ...
西門子 SINAMICS S120 Web server 用戶名和默認密碼
sinamics web server可以通過瀏覽器查看驅動器故障等信息,是一個比較方便的輔助工具. 1. 一般用戶 SINAMICS 密碼 無 2. 管理員 Administrator 密碼 Adm ...
總結
以上是生活随笔為你收集整理的html调用点击运行本地py文件,实现HTML调用打开本地软件文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2020女生适合学什么设计
- 下一篇: Ae效果控件快速参考:模拟