相关疑难解决方法(0)

将System.Drawing.Icon转换为System.Media.ImageSource

我有一个IntPtr封装在一个非托管/管理边界上,对应一个Icon Handle.通过FromHandle()方法将它转换为Icon是微不足道的,直到最近才令人满意.

基本上,我已经有足够的线程怪异了,因为我一直在玩MTA/STA舞蹈以保持托管的WinForm不会破坏应用程序的主要(WPF-tastic)UI太脆弱而无法坚持.所以WinForm必须要去.

那么,我怎样才能获得Icon的ImageSource版本?

注意,我尝试过ImageSourceConverter无济于事.

顺便说一下,我可以获得一些但不是所有涉及的图标的底层资源,它们通常存在于我的应用程序的程序集之外(事实上,它们通常存在于非​​托管的dll中).

c# windows wpf winforms

41
推荐指数
4
解决办法
5万
查看次数

如何使用Shell32.SHGetFileInfo在Windows 7上获取文件夹图标

我有以下代码适用于Windows XP和Vista - 32位和64位:

public static Icon GetFolderIcon(IconSize size, FolderType folderType)
{
    // Need to add size check, although errors generated at present!
    uint flags = Shell32.SHGFI_ICON | Shell32.SHGFI_USEFILEATTRIBUTES;

    if (FolderType.Open == folderType)
    {
        flags += Shell32.SHGFI_OPENICON;
    }

    if (IconSize.Small == size)
    {
       flags += Shell32.SHGFI_SMALLICON;
    } 
    else 
    {
       flags += Shell32.SHGFI_LARGEICON;
    }

    // Get the folder icon
    var shfi = new Shell32.SHFILEINFO();
    Shell32.SHGetFileInfo(  null, 
                            Shell32.FILE_ATTRIBUTE_DIRECTORY, 
                            ref shfi, 
                            (uint) Marshal.SizeOf(shfi), 
                            flags );

    Icon.FromHandle(shfi.hIcon);    // Load the icon from an HICON …
Run Code Online (Sandbox Code Playgroud)

.net c# shell windows-7

15
推荐指数
2
解决办法
2万
查看次数

WPF中的文件默认图标

可能重复:
如何在WPF中显示Windows文件图标?

我正在使用WPF构建电子邮件客户端.我首先显示邮件内容和邮件附件列表.我需要一种方法来显示文件的缩略图,以便用户可以看到文件的内容.例如,如果它是一个图像,那么用户可以看到像Windows资源管理器这样的缩略图,如果它的单词然后是单词默认图标,则总结显示带有缩略图的Windows资源管理器等列表.

有任何想法吗 ?

.net c# wpf

6
推荐指数
0
解决办法
136
查看次数

标签 统计

c# ×3

.net ×2

wpf ×2

shell ×1

windows ×1

windows-7 ×1

winforms ×1