簡體   English   中英

如何獲得Windows資源管理器中使用的驅動器圖標?

[英]How to get the drive icons as used in Windows Explorer?

當您查看“計算機”時,Windows 7的每個驅動器都有非常漂亮的圖標。 它為CD,SD卡,USB記憶棒,USB硬盤驅動器等放置了正確的圖標。

看起來像這樣:

駕駛

我想訪問這些圖標並在UI中使用正確的圖標。 我嘗試了各種訪問文件夾圖標和文件圖標的方法,但是沒有任何效果。 什么不起作用:

  • Icon.ExtractAssociatedIcon(“ F:\\”)

  • SHGetFileInfo(“ F:\\”,0,ref shinfo,(uint)Marshal.SizeOf(shinfo),Win32.SHGFI_ICON | Win32.SHGFI_SMALLICON);

  • ShellObject.FromParsingName(“ F:\\”)。縮略圖

我還能嘗試什么,或者我做錯了什么?

編輯:我不是在尋找圖標的來源,我試圖為每個驅動器獲取正確的圖標。

經過大量的挖掘,我發現了這一點: https : //tabbles.net/how-to-have-large-file-icons-with-shgetfileinfo-in-c/

問題在於,SHGetFileInfo可以獲取XP之前的小型16x16樣式圖標,但是要獲取最大為256x256的較大的現代Vista和Win7'Jumbo'圖標,則需要使用更復雜的多步方法。 該鏈接提供了代碼。

您應該小心使用哪些圖標,因為其中許多圖標無法獲得許可。 但是您肯定可以使用在

c:\\ Program Files(x86)\\ Microsoft Visual Studio 10.0 \\ Common7 \\ VS2010ImageLibrary \\ 1033 \\ VS2010ImageLibrary.zip (Visual Studio 2010的示例)

要么

c:\\ Program Files(x86)\\ Microsoft Visual Studio 8 \\ Common7 \\ VS2005ImageLibrary \\ VS2005ImageLibrary.zip (Visual Studio 2005的示例)

我相信它們嵌入在這里:

%SystemRoot%\system32\SHELL32.dll

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM