[英]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.