2011-10-05 5 views
3

원래 IDI_ICON1이 내 프로그램에 가장 적합하다고 결정 했었습니다.Win32 : 프로그램 아이콘 변경

wndclass.hIcon   = LoadIcon (HINST_THISCOMPONENT, MAKEINTRESOURCE(IDI_ICON1)); 

아이콘이 내 메인 창의 제목 메뉴의 왼쪽 상단과 Windows 탐색기의 .exe 파일에 나타납니다.

IDI_ICON2가 좋았 기 때문에 바뀌 었습니다.

wndclass.hIcon   = LoadIcon (HINST_THISCOMPONENT, MAKEINTRESOURCE(IDI_ICON2)); 

이제 title2의 왼쪽 상단에 icon2가 나타나지만 Windows 탐색기의 아이콘은 여전히 ​​icon1로 표시됩니다. 내가 뭘 놓치고 있니?

+3

캐싱이 원인 일 수 있습니다. 다른 폴더로 이동하거나 이름을 변경하십시오. 그렇지 않으면 다시 부팅하십시오. – Mysticial

+0

방금 ​​응용 프로그램을 재부팅하고 다시 작성했지만 여전히 icon1을 보여줍니다. 나는 또한 프로그램을 다른 폴더에 복사했다. 윈도우 클래스의이 필드는 프로그램 아이콘을 처리하는 Win32의 유일한 영역입니까? – user974967

+0

그러면 내가 잘못 추측 한 것 같아요. XD – Mysticial

답변

5

탐색기는 실행 파일의 첫 번째 아이콘을 사용합니다. 그것은 가장 낮은 이드를 가진 것입니다. IDI_ICON2가 IDI_ICON1보다 낮은 정수로 정의되도록 자원을 관리하십시오.

+0

당신이 맞았다 고합니다. 나는 아이콘에 대한 ID를 바꿨고 icon1은 창 클래스에 설정된 아이콘에 관계없이 탐색기에 표시되는 것 같습니다. 귀하의 제안에 감사드립니다. – user974967

+0

@ user974967 : 윈도우 클래스가 실행 파일과 리소스와 아무 관련이 없음을 명확히 밝히고 싶습니다. –

+0

.rc 파일은 리소스 컴파일러로 컴파일 된 다음 실행 파일과 링크됩니다. 이 올바른지? 아이콘 (내가 아는)을 다루는 코드의 유일한 영역은 윈도우 클래스 설정입니다. 하지만, 제목 표시 줄에 표시된 아이콘을 결정하는 것 같습니다. – user974967