我只是想知道是否有人为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来返回正确的图像。任何想法?
答案 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.?