Shell32.dll에서 아이콘로드 : Win32 핸들이 유효하지 않거나 잘못된 유형입니다.

StackOverflow https://stackoverflow.com/questions/949196

  •  09-09-2019
  •  | 
  •  

문제

나는 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);

내가 얻는 아이콘의 아이콘 색인을 보냅니다.이 아이콘은 열린 폴더 아이콘 (색인 5) 및 로그인 아이콘 (인덱스 45)과 같은 ICPON에 대해 잘 작동하지만 INDEX (71, 73, ICONS를 시도하고 얻을 때. 127 등

왜 이런 일이 일어나고 있는지 알고 있는지 궁금합니다. 그리고 아이콘 중 일부가 액세스 할 수 있고 다른 아이콘이 나타나지 않는 이유는 무엇입니까?

감사

도움이 되었습니까?

해결책

아이콘 중 일부가 액세스 할 수 있고 다른 아이콘이 나타나지 않는 이유는 무엇입니까?

아이콘은 Shell32.dll의 공개 계약의 일부가 아니기 때문입니다.

어쨌든 shell32.dll에서 아이콘을로드하는 데 의존해서는 안됩니다. Raymond Chen은 기사를 찾을 수는 없지만 이유를 설명합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top