gpt4 book ai didi

c# - 如何获取 Windows 资源管理器中使用的驱动器图标?

转载 作者:太空狗 更新时间:2023-10-29 23:16:29 25 4
gpt4 key购买 nike

当您查看“计算机”时,Windows 7 为每个驱动器提供了非常漂亮的图标。它为 CD、SD 卡、USB 内存棒、USB 硬盘驱动器等放置正确的图标。

看起来像这样:

Driving

我想访问这些图标并在我的 UI 中使用正确的图标。我尝试了各种访问文件夹图标和文件图标的方法,但没有任何效果。什么不起作用:

  • Icon.ExtractAssociatedIcon("F:\")

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

  • ShellObject.FromParsingName("F:\").Thumbnail

我还能尝试什么,或者我做错了什么?

编辑:我不是在寻找图标来源,我正在尝试为每个驱动器获取正确的图标。

最佳答案

经过大量挖掘,我发现了这个:https://tabbles.net/how-to-have-large-file-icons-with-shgetfileinfo-in-c/

问题是 SHGetFileInfo 可以获取 16x16 的小的、XP 之前的样式图标,但是要获取最大为 256x256 的更大的现代 Vista 和 Win7“Jumbo”图标,您需要使用更复杂的 multi-步骤法。该链接提供了代码。

关于c# - 如何获取 Windows 资源管理器中使用的驱动器图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12840268/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com