Electron任務欄圖標定製分析

Electron提供了這樣一個API ,win.setAppDetails(options),經過它咱們能夠設置窗口任務欄按鈕的屬性:shell

  • appId String (可選) - 窗口的 App User Model ID. 該項必須設置, 不然其餘選項將沒有效果.
  • appIconPath String (可選) -窗口的 Relaunch Icon.
  • appIconIndex Integer (可選) - appIconPath 中的圖標索引. 當appIconPath 沒設置時則忽略. 默認值爲0.
  • relaunchCommand String (可選) - 窗口的 從新啓動命令.
  • relaunchDisplayName String (可選) - 窗口的從新啓動顯示名稱.

在代碼中使用它的方式是:windows


在Electron源碼中搜索setappdetails關鍵字,在ui\base\win\shell.cc中找到api


首先從調用shellapi中的SHGetPropertyStoreForWindow獲取到指定窗口句柄的屬性,而後依次設置app_id、app_icon_path、relaunch_command、relaunch_display_names四個屬性。app

注意:electron

1.your_icon_path必定要指向一個真實的icon文件路徑,切不可指向electron資源打包文件中的路徑,由於windows沒法理解electron使用的資源。ui

2.your_cmd_string須要使用雙引號包裹起來,防止存在空格致使命令行沒法正確執行。命令行

運行咱們的electron程序,能夠看到任務欄圖標再也不是默認的可執行程序圖標,而是變成your_icon_path指向的圖標。code

這時在任務欄圖標上右鍵,能看到名稱是指定的your_display_name_string,在名稱上右鍵查看屬性,能夠看到一個快捷方式的屬性信息對話框,目標一欄能夠看到設定的your_cmd_string。cdn

相關文章
相關標籤/搜索