Windows 7喜欢圆形装载机吗?

时间:2011-01-16 06:56:50

标签: c# .net winforms windows-7 controls

我只是想知道是否有人为C#做了什么,同样期待在Windows 7和Vista中几乎所有地方使用的循环加载。

circular loading thing http://img600.imageshack.us/img600/3127/a7ff394fb1d04795b9a2a21.png

修改

我注意到很多关于游标的评论,但这与我试图做的事情根本没有关系。我正在尝试创建一个加载圈,作为自定义控件(或类似的东西)绘制到我的窗口。

到目前为止我尝试了什么:

我试图从以下dll %SystemRoot%\System32\imageres.dll中提取加载图片 没有成功,使用Mark Pim (this one)

提供的链接

我尝试了,并且能够从dll成功提取 A 图像,但我无法确定如何提取我需要的特定图像。作为dll中列出的圆圈动画Bitmap/5004

这是我试过的一些代码

    public struct SHFILEINFO
    {
        public IntPtr hIcon;
        public int iIcon;
        public uint dwAttributes;
        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
        public string szDisplayName;
        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 80)]
        public string szTypeName;
    };
    [DllImport("Shell32.dll")]
    public static extern IntPtr SHGetFileInfo(string pszPath, uint dwFileAttributes, ref SHFILEINFO psfi, int cbFileInfo, uint uFlags);
    public Image GetImage()
    {
        IntPtr hImgLarge;
        SHFILEINFO shinfo = new SHFILEINFO() { };
        string FileName = @"C:\Windows\System32\imageres.dll";
        System.Drawing.Icon myIcon;
        hImgLarge = SHGetFileInfo(FileName, 0, ref shinfo, Marshal.SizeOf(shinfo), 0x100);
        myIcon = System.Drawing.Icon.FromHandle(shinfo.hIcon);
        return myIcon.ToBitmap();
    }

我不知道如何操纵SHGetFileInfo来返回正确的图像。任何想法?

1 个答案:

答案 0 :(得分:1)

看起来图像在%SystemRoot%\ System32 \ imageres.dll

中可用

我使用此应用程序浏览该DLL,并手动验证我是否看到了微调器动画:

http://www.wilsonc.demon.co.uk/d10resourceeditor.htm

请参阅此问题,了解如何将这些插入winforms应用程序:

How can I access to system icons like "folder", "file" etc.?