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

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\""
建一個(gè)后綴為reg的文件,按照要求輸入以上內(nèi)容,多個(gè)應(yīng)用則依次追加。 保存成功后,雙擊運(yùn)行即可。也可去注冊(cè)表中查看相應(yīng)應(yīng)用名稱是否注冊(cè)成功。
OK,以上就是綠色軟件正常的調(diào)用。大家是不是覺得就沒有問題了,可我這邊還發(fā)現(xiàn)了一個(gè)很頭疼的問題,希望大家沒有遇到,看問題3
問題3:游覽器調(diào)用的軟件,出現(xiàn)中文亂碼,怎么辦?
答:剛開始我們都以為是軟件的兼容問題,然后下載了最新版本的,還是不行。然后找各種資料,有的說是電腦的編碼問題,有的說游覽器編碼問題,我就不具體說了,網(wǎng)上都有。反正我都試了都不行,而且操作流程比較復(fù)雜,不符合客戶需求。后來我發(fā)現(xiàn)通過應(yīng)用程序打開和cmd進(jìn)行打開都沒有問題,我就想能不能通過cmd來進(jìn)行應(yīng)用程序的調(diào)用,然后我就將調(diào)用cmd啟動(dòng)程序代碼放到了注冊(cè)表里面了,解決方式如下:

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\""
轉(zhuǎn)自https://juejin.cn/post/7482405430633021440
該文章在 2025/3/18 9:02:55 編輯過