[英]Set icon for Task in Jump List (Windows)
我正在嘗試為我的Electron應用程序在跳轉列表的“任務”部分中設置一個圖標。 我已經成功在任務欄中設置了一個圖標。 但是我也想在跳轉列表的“任務”部分中設置我的圖標。 我怎樣才能做到這一點?
我已經嘗試使用app.setUserTask()方法並嘗試在JSON文件中設置圖標。 任務欄中的圖標及其自身的圖標正在工作。 我也嘗試使用.ico和.png。
說明和標題正常工作,所以我想我在執行錯誤操作或類似操作。 ico和png圖像與我的main.js(用於Electron)位於同一目錄中。
app.setUserTasks([
{
program: process.execPath,
arguments: '--new-window',
iconPath: path.join(__dirname,"icon.ico").execPath,
iconIndex: 1,
title: 'myApp',
description: 'myApp'
}
])
首先,看起來您在iconPath
混合了兩件事。 根據Electron docs ,您可以使用process.execPath
來引用應用程序可執行文件或使用任何其他絕對路徑。 由於path.join
返回一個字符串,因此它沒有execPath
屬性。 其次,我將iconIndex
更改為0。
在Windows 7和Electron 4.1.4上測試了以下內容:
PNG文件似乎根本不起作用–您需要將ICO文件用於跳轉列表。 此外,無法從asar
取得圖標。 這意味着您需要直接在文件系統中使用ICO,並且需要提供指向它的絕對路徑。
完整的代碼示例:
const {app, BrowserWindow} = require('electron')
const path = require('path')
const os = require('os')
let my_path
my_path = "C:\\icon.png" // doesn't work
my_path = "C:\\icon.ico" // works
my_path = process.execPath // works (uses application icon)
my_path = path.join(__dirname, "icon.png") // doesn't work, translates to C:\path\to\app\resources\app.asar\icon.png
my_path = path.join(__dirname, "icon.ico") // doesn't work, translates to C:\path\to\app\resources\app.asar\icon.ico
my_path = path.join(app.getAppPath(), "icon.ico") // doesn't work, translates to C:\path\to\app\resources\app.asar\icon.ico
my_path = path.join(__dirname, "..", "..", "icon.ico") // works if icon.ico is in the same directory
// as the exe "packaged" by electron-packager, assuming icon.ico is copied in
if (os.platform() == "win32") {
app.setUserTasks([{
program: process.execPath,
arguments: '--new-window',
iconPath: my_path,
iconIndex: 0,
title: 'My App',
description: 'Description of myApp'
}])
}
let mainWindow
app.on('ready', () => {
mainWindow = new BrowserWindow()
mainWindow.on('closed', () => {
mainWindow = null
app.quit()
})
})
在這里, doesn't work
表示Windows顯示默認圖標。 我確保icon.png
和icon.ico
位於app.asar
。
我知道了 圖標已在任務管理器,任務欄和應用程序中更改,我使用了本主題
我確保.exe和我的img位於同一文件夾中。 我的所有圖標現在都已更改,除了.exe本身。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.