无需 WinAPI 从文件、文件夹或驱动器获取关联图标

发布于 2024-07-24 20:56:43 字数 165 浏览 5 评论 0原文

有没有办法在 C# 中获取关联的图标而不使用任何 DllImports?

当我使用 Icon.ExtractAssociatedIcon 时,我似乎没有获得环境中的驱动器、文件夹、SpecialFolder 或网络附加文件夹上的任何文件的图标。 那么还有其他方法可以使用.NET 获取图标吗?

Is there a way to get an associated icon in C# without using any DllImports?

When I use Icon.ExtractAssociatedIcon I don't seem to get the icon for drives, folders, SpecialFolder's in Environment or any files on network attached folders. So is there any other way to get an icon using .NET?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

彩虹直至黑白 2024-07-31 20:56:43

.Net 只有一种提取关联图标的方法,您已经提到过。 你能找到的每个库都使用 pinvokes,因为它们从 Windows 获取图标。 因此,如果您需要完全可移植的图标提取引擎,则必须自己编写,遗憾的是,但这是唯一的方法(并将所有系统特定代码隐藏在其中)。

.Net have only one method for extracting associated icons, and you already mentioned about it. Every lib you can find uses pinvokes, because they get icons from windows. So if you need to fully portable icon extraction engine, you must write it by yourself, sadly, but this is the only way (and hide all system specific code inside).

表情可笑 2024-07-31 20:56:43

不是您问题的答案,但可能有用。

您可以从此文件中获取大部分 ms windows 图标

$VisualStudiosInstallationDirectory\Common7\VS2008ImageLibrary\VS2008ImageLibrary.zip

如果您仍使用 VS2005,请将 2008 替换为 2005

Not an answer to your question but might be of use.

You can get most of ms windows icons from this file

$VisualStudiosInstallationDirectory\Common7\VS2008ImageLibrary\VS2008ImageLibrary.zip

Substitute 2008 for 2005 if you still use VS2005

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文