Мне было просто интересно, если бы кто-нибудь сделал что-нибудь для C # аналогично тому, как использовать циклическую загрузку почти везде в Windows 7 и Vista.
круговая загрузка вещь http://img600.imageshack.us/img600/3127/a7ff394fb1d04795b9a2a21.png
Edit:
Я заметил много комментариев о курсорах , но это совсем не связано с тем, что я пытаюсь сделать. Я пытаюсь создать загрузочный круг, нарисованный в моем окне как пользовательский элемент управления (или что-то в этом роде).
То, что я пробовал до сих пор:
Я попытался извлечь загрузочные изображения из следующей DLL %SystemRoot%\System32\imageres.dll
безуспешно, используя ссылку, предоставленную Марком Пимом (эта)
Я попробовал, и смог успешно извлечь A изображение из DLL, но я не могу определить, как извлечь конкретное изображение, которое мне нужно. анимация круга, указанная в 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, чтобы вернуть правильное изображение. есть идеи?