Windows 7 Нравится круговой загрузчик? - PullRequest
1 голос
/ 16 января 2011

Мне было просто интересно, если бы кто-нибудь сделал что-нибудь для 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, чтобы вернуть правильное изображение. есть идеи?

1 Ответ

1 голос
/ 16 января 2011

Похоже, что изображения доступны в% SystemRoot% \ System32 \ imageres.dll

Я использовал это приложение, чтобы просмотреть эту DLL и вручную проверить, что я видел анимацию вращения:

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

См. Этот вопрос о том, как вставить их в приложение winforms:

Как получить доступ к системным значкам, таким как «папка», «файл» и т. Д.?

...