3
我在寫一個小窗口應用程序。如何使用windows api更改任務欄中的圖標
我想用nsis腳本創建一個安裝程序。
我知道如何更改默認的應用程序圖標,通過使用
應用程序圖標開始菜單圖標和桌面快捷方式圖標:CreateShortCut "$SMPROGRAMS\$StartMenuFolder\shorcutName.lnk" "$INSTDIR\executableName.exe" "" "$INSTDIR\${INSTALL_ICON}" 0
桌面上的快捷方式:!define MUI_ICON "${INSTALL_ICON}"
開始菜單快捷方式CreateShortCut "$DESKTOP\shorcutName.lnk" "$INSTDIR\executableName.exe" "" "$INSTDIR\${INSTALL_ICON}" 0
但我還想更改應用程序窗口左上角顯示的圖標。 圖標顯示在任務欄上的任務管理器和圖標上。我認爲應該使用winapi完成。
任何幫助,將不勝感激。
在此先感謝
您好@Phoenix的GetWindow GW_OWNER總是返回到我NULL(爲0x0) 。你是什麼意思改變應用程序圖標?做第一部分改變任務欄和窗口中的圖標。它不會更改任務欄圖標,如果它固定。所以我只是想知道你的意思是「應用程序圖標」。謝謝! – Noitidart
@Noitidart我相信在Alt + Tab中使用的圖標。可能還有另一個圖標要考慮,或者甚至沒有工作? –
謝謝@Phoenix我無法讓'GW_OWNER'讓我成功,所以它對我沒有任何幫助。爲了讓它在任務欄中更改,如果它是固定的,它將不會與'WM_SETICON'一起工作,因爲這種情況下,我不得不通過固定目錄中的IShellLink/IPersistFile來更新圖標(可能在Implicit中):[檢測應用程序引腳狀態](http://stackoverflow.com/questions/28244200/detecting-application-pin-state#comment44852836_28245750)。如果它不是固定的,我必須使用'SHGetPropertyStoreForWindow'設置圖標,以防萬一他在晚些時候釘住它,我做了'WM_SETICON's – Noitidart