需求:開發一個頁面,頁面的導航欄需要啟動本地下載好的綠色軟件
問題1: 如何調用本地軟件?
答:這個很簡單只需要調用window.location.href = “應用名稱://”
即可,有同學就會問了這個應用名稱是什么?應用名稱為應用安裝時在注冊表里面注冊的名稱,以微信為例,看下圖:
啟動本地的微信,調用window.location.href = “weixin://”
就可以了,也可直接在游覽器地址欄輸入weixin://
進行調用
問題2:綠色軟件無需進行安裝,注冊表里面沒有對應注冊的名稱,怎么辦?
答:從上一個問題中,我們可以看出來,本地的軟件的調用,是游覽器通過注冊表中的名稱進行調用的。所以最簡單的方式就是在注冊表中添加一個對應應用的名稱和地址。可考慮到我們這邊是可以調用多個綠色軟件的,并減少客戶使用的難度,我給他自定義了一個操作程序,看下圖:

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\NSRTool]
@="NSRTool Protocol"
"URL Protocol"= ""
[HKEY_CLASSES_ROOT\NSRTool\DefaultIcon]
@="E:\\arptools-smg_R2.03_20240530_prj\\bin\\NSRTools.exe"
[HKEY_CLASSES_ROOT\NSRTool\shell\open\command]
@="E:\\arptools-smg_R2.03_20240530_prj\\bin\\NSRTools.exe"
[HKEY_CLASSES_ROOT\NARIConfiguration]
@="NARIConfiguration Protocol"
"URL Protocol"= ""
[HKEY_CLASSES_ROOT\NARIConfiguration\DefaultIcon]
@="E:\\NARIConfigTool_V1.47\\NARI Configuration Tool.exe"
[HKEY_CLASSES_ROOT\NARIConfiguration\shell\open\command]
@="\"E:\\NARIConfigTool_V1.47\\NARI Configuration Tool.exe\""
建一個后綴為reg的文件,按照要求輸入以上內容,多個應用則依次追加。 保存成功后,雙擊運行即可。也可去注冊表中查看相應應用名稱是否注冊成功。
OK,以上就是綠色軟件正常的調用。大家是不是覺得就沒有問題了,可我這邊還發現了一個很頭疼的問題,希望大家沒有遇到,看問題3
問題3:游覽器調用的軟件,出現中文亂碼,怎么辦?
答:剛開始我們都以為是軟件的兼容問題,然后下載了最新版本的,還是不行。然后找各種資料,有的說是電腦的編碼問題,有的說游覽器編碼問題,我就不具體說了,網上都有。反正我都試了都不行,而且操作流程比較復雜,不符合客戶需求。后來我發現通過應用程序打開和cmd進行打開都沒有問題,我就想能不能通過cmd來進行應用程序的調用,然后我就將調用cmd啟動程序代碼放到了注冊表里面了,解決方式如下:

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\NSRTool]
@="NSRTool Protocol"
"URL Protocol"= ""
[HKEY_CLASSES_ROOT\NSRTool\DefaultIcon]
@="E:\\arptools-smg_R2.03_20240530_prj\\bin\\NSRTools.exe"
[HKEY_CLASSES_ROOT\NSRTool\shell\open\command]
@="cmd /c \"cd /d E:\\arptools-smg_R2.03_20240530_prj\\bin\\ && start \"\" NSRTools.exe\""
轉自https://juejin.cn/post/7482405430633021440
該文章在 2025/3/18 9:02:55 編輯過