我正在使用WPF JumpTask對象,並且希望我的Windows 7跳轉列表圖標是我自己的應用程序中的圖標 - 但不是默認的圖標。一個不同的。WPF JumpTask比默認的另一個圖標?
那麼我該如何做到這一點?我想我指定了一個不同的圖標資源索引。
但是,我怎樣才能將我的圖標作爲資源存儲,我怎麼知道哪個圖標是哪個索引?
我正在使用WPF JumpTask對象,並且希望我的Windows 7跳轉列表圖標是我自己的應用程序中的圖標 - 但不是默認的圖標。一個不同的。WPF JumpTask比默認的另一個圖標?
那麼我該如何做到這一點?我想我指定了一個不同的圖標資源索引。
但是,我怎樣才能將我的圖標作爲資源存儲,我怎麼知道哪個圖標是哪個索引?
根據MSDN
與JumpTask使用必須 可作爲原生資源的圖標。
您只能從單獨的資源文件加載圖標。所以,你需要將IconResourcePath
屬性設置爲帶有圖標的DLL。如果您的圖標很少,請使用IconResourceIndex
屬性指定所需的圖標。
例如,下一個代碼
<Application x:Class="YourApp.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<JumpList.JumpList>
<JumpList>
<JumpTask Title="TargetApp"
Description="JumpTask to start TargetApp"
ApplicationPath="TargetApp.exe"
IconResourcePath="LibWithIcons.dll"
IconResourceIndex="2" />
</JumpList>
</JumpList.JumpList>
</Application>
將從LibWithIcons.dll創建的JumpList和設置爲JumpTask項TargetApp第三圖標(基於空記數)。順便說一句,如果JumpTask啓動其他應用程序通常IconResourcePath
被設置到該應用程序的可執行文件,所以它的圖標會顯示:
<JumpTask Title="TargetApp"
Description="JumpTask to start TargetApp"
ApplicationPath="TargetApp.exe"
IconResourcePath="TargetApp.exe"
IconResourceIndex="0" />
如何創建MSDN forums描述圖標DLL。
它正在尋找Win32資源中的圖標,這與託管資源完全不同。看看這個優秀的寫作來理解這些 - 可以創建它們並指定圖標順序。
Embed Icons into WPF Application as Resource
最後我用了埃納爾Eigilson,讓您的圖標添加爲在生成後事件的資源創造了great tool。
還值得注意的是,無論我在做什麼,我都無法在調試模式下運行時顯示圖標。即使嵌入一個靜態的win32資源也沒有顯示主圖標之外的任何圖標。在你像我一樣拉你的頭髮之前,嘗試在Release中測試。
您可以在調試器中運行時顯示主窗口圖標,方法是將其直接分配給主窗口的Icon屬性,如InitializeComponent()之後的窗口構造函數。以下工作,雖然它讓你錯誤的圖標大小。 'Icon = Imaging.CreateBitmapSourceFromHIcon(KillXDes.Properties.Resources.KillProcIcon.Handle,Int32Rect.Empty,BitmapSizeOptions.FromEmptyOptions());'不是一個重要的問題,但他們把它搞砸了。 – 2015-12-22 16:53:27
您如何知道哪個圖標位於哪個索引?你的回答並沒有說清楚。 – imoatama 2012-10-07 18:50:16
你如何添加圖標和/或知道它是什麼索引?答案不明確,鏈接也不明確。它說如何添加圖標,但它們都不會出現在我嘗試從0到50的任何索引中。 – user99999991 2015-09-17 20:01:53