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