Я получаю некоторые значки из Shell32.dll. Хотя некоторые значки не доступны, и я не могу понять, почему.
Я получаю значок, загружая библиотеку по телефону:
[DllImport("kernel32.dll")]
static extern IntPtr LoadLibrary(string Library);
, а затем получить иконку по телефону:
[DllImport("User32.dll")]
public static extern IntPtr LoadImage(IntPtr ptr, int intId, uint intType, int iconWidth, int iconHeight, int loadIcon);
Я отправляю указатель значков получаемого значка, который отлично работает для icpons, таких как значок открытой папки (индекс 5) и значок входа (индекс 45), но когда я пытаюсь получить значки с индексом (71 , 73, 127 и т. Д. И т. Д.) Получаю следующее исключение:
Дескриптор Win32, который был передан в Icon, недопустим или имеет неправильный тип
Мне было интересно, знает ли кто-нибудь, почему это происходит? и почему некоторые значки доступны, а другие нет.
Спасибо