![](/img/trans.png)
[英]How can I get the icon from the executable file only having an instance of it's Process in C#
[英]How can I get the icon corresponding to a file's type in C#?
我需要獲取與文件類型而不是文件名關聯的圖標。
我使用type => filename.type將文件存儲在數據庫中,但是這些文件不必存在於硬盤上。
因此,我需要傳遞類型並獲取其圖標
你有什么建議?
您可以調用SHGetFileInfo()
。
如果文件不存在,那么您將需要使用SHGFI_USEFILEATTRIBUTES
標志:
如果uFlags參數包含SHGFI_USEFILEATTRIBUTES標志,則此參數不必是有效的文件名。 該函數將繼續進行,就好像該文件以指定的名稱存在並且帶有在dwFileAttributes參數中傳遞的文件屬性一樣。 這允許您通過僅傳遞pszPath的擴展名並在dwFileAttributes中傳遞FILE_ATTRIBUTE_NORMAL來獲取有關文件類型的信息。
像往常一樣, pinvoke.net擁有從托管代碼中獲取所需信息。
您可以使用Win32 API SHGetFileInfo ,但是我認為該文件應該存在才能正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.