天天看點

Web端打開本地可執行的exe程式Web端打開本地可執行的exe程式

Web端打開本地可執行的exe程式

reg檔案是系統資料庫檔案。

Web啟動Colors.reg

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Colors]
@="URL:Colors"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\Colors\shell]
[HKEY_CLASSES_ROOT\Colors\shell\open]
[HKEY_CLASSES_ROOT\Colors\shell\open\command]
@="D:\\Colors Lite\\Colors.exe"
           

輕按兩下這個reg檔案把

Colors

寫入系統資料庫:

Web端打開本地可執行的exe程式Web端打開本地可執行的exe程式

寫入系統資料庫成功如下:

Web端打開本地可執行的exe程式Web端打開本地可執行的exe程式

定義一個方法openExe:

/**
 * 打開本地可執行的exe程式
 * @param href
 */
export function openExe (href) {
  const a = document.createElement('a')
  a.setAttribute('href', href)
  a.click()
}
           

導入方法openExe并使用:

import { openExe } from './utils'

function openColors () {
    openExe('Colors://')
},
           

每次在web端打開exe應用程式,浏覽器都會預設彈窗。

Web端打開本地可執行的exe程式Web端打開本地可執行的exe程式

Chrome_始終在關聯的應用程式中打開此類型的連結:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies]
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google]
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome]
"ExternalProtocolDialogShowAlwaysOpenCheckbox"="1"
           

輕按兩下reg檔案,寫入系統資料庫成功。

Web端打開本地可執行的exe程式Web端打開本地可執行的exe程式
Web端打開本地可執行的exe程式Web端打開本地可執行的exe程式

此時再次在web端打開exe應用程式,浏覽器就不會再次預設彈窗了。