日常開發中,經常會遇到需要在瀏覽器就可以直接引導用戶打開軟件的功能,例如國內的迅雷、QQ
一般桌面軟件分不同的操作系統,如 Windows、Linux、MacOS
效果如下:
以 Windows 為例:
其實原理就是通過到 Windows 注冊表添加規則,然后使用協議打開本地電腦的可執行文件。
注冊表(Registry)是Microsoft Windows中的一個重要的數據庫,用於存儲系統和應用程序的設置信息。
HKEY_CLASSES_ROOT:啟動應用程序所需的全部信息,如擴展名,應用程序與文檔之間的關系,驅動程序名,DDE和OLE信息,類ID編號和應用程序與文檔的圖標等。
步驟如下:
創建注冊表文件 open_software.reg
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\my_custom_postman] "URL Protocol"="C:\\Users\\Ryan.Zheng\\AppData\\Local\\Postman\\Postman.exe" @="Postman" [HKEY_CLASSES_ROOT\drivereasy\DefaultIcon] @="C:\\Users\\Ryan.Zheng\\AppData\\Local\\Postman\\Postman.exe,1" [HKEY_CLASSES_ROOT\drivereasy\shell] [HKEY_CLASSES_ROOT\drivereasy\shell\open] [HKEY_CLASSES_ROOT\drivereasy\shell\open\command] @="\"C:\\Users\\Ryan.Zheng\\AppData\\Local\\Postman\\Postman.exe\" \"%1\""
然后直接雙擊打開這個文件就可以直接將信息寫入注冊表中
ps:注意注冊表里不懂的內容不要隨意刪除,不然可能會導致你的電腦無法正常使用。
然后 HTML 使用 a 標簽的 href 屬性,格式為:應用名://參數
<a href="my_custom_href://xxx"></a>