2014-05-13 1 views
4

(.Res) 리소스 파일로 탐색 중이며 delphi.about.com 사이트에 대한 유용한 자습서가 있습니다.리소스 파일이 포함 된 잘못된 EXE 응용 프로그램 아이콘

튜토리얼 링크 : http://delphi.about.com/od/objectpascalide/l/aa113099a.htm

다운로드 테스트 프로젝트 : 나는 응용 프로그램 아이콘은 윈도우 탐색기에서 다른 것을 발견 http://delphi.about.com/library/aboutres.zip

. 신청서 양식의 아이콘이 올바르게 나타납니다 (이미지 2 참조). Windows 작업 표시 줄의 아이콘이 올바르게 나타납니다 (이미지 3 참조).

하지만 탐색 할 때 Windows 탐색기에서 아이콘이 잘못되었습니다 (이미지 1 참조). Res 파일에서 MAINICON이 아닙니다.

무엇이 잘못 되었습니까? 올바른 응용 프로그램 아이콘을 .EXE 파일로 가져 오려면 무엇을 구성해야합니까?

  • 델파이 XE3 환경
  • 윈도우 7 환경
  • 당신은 위의 링크에서 샘플 프로젝트를 다운로드 할 수 있습니다

이미지 없음 (1)

EXE Application icon is wrong in Windows Explorer

이미지 없음 (2)

,451,515,

Application icon appears correctly on the task bar

이미지 없음 (3) 사전에

Application icon appears correctly on the form

감사

답변

4

표시 할 힌트가 없으면 쉘은 가장 낮은 ID 또는 알파벳순으로 오는 ID 중 하나를 선택합니다. 실행 파일에는 ICOFOLD, ICOOK 및 MAINICON 아이콘이 있습니다. ICOFOLD는 쉘 폴더에 표시됩니다.

작업 표시 줄이나 양식 아이콘은 프로그램 실행 후 메시지를 WM_SETICON으로 보내면 설정됩니다. 따라서 거기에는 추측이 없습니다.

+0

감사합니다. @Sertac. 리소스 파일에서 하나의 아이콘 (ICOFOLD)을 삭제하면 첫 번째 아이콘이 ICOOK 인 것으로 나타납니다. 올바른 아이콘을 설정하는 방법을 알고 있습니까? 답장을 보내 주셔서 감사합니다. – sMah

+0

@sMah Sertac이 명확하게 설명했습니다. VCL에서는 응용 프로그램 아이콘 MAINICON의 이름을 지정해야합니다. 탐색기는 찾은 첫 번째 아이콘을 사용합니다. 따라서 첫 번째 아이콘이 앱 아이콘인지 확인해야합니다. –

+2

나는 모든 다른 아이콘에 MAINICON 다음에 나타나는 이름이 있는지 확인하여이를 달성합니다. 앱 아이콘을 두 번 포함시킬 수 있습니다. MAINICON으로 한 번, ID가 1 인 경우 한 번, 또는 다른 모든 알파벳보다 알파벳순으로 이름을 말하십시오. –

1

가 실행중인 프로세스의 자원에서 직접하기 때문에 작업 표시 줄 및 양식 창에 아이콘이 정확 .

Windows 탐색기 반면에 caches icons 캐시가 손상되거나 동기화되지 않는 경우가 있습니다. 이는 Windows 탐색기에서 잘 알려진 문제입니다. 앱과 아무 관련이 없습니다. 아이콘 캐시를 복구하는 데 사용할 수있는 많은 타사 도구가 있습니다.

+0

안녕하세요. 회신 해 주셔서 감사합니다. 나는 전에 그 문제에 부딪친 다. 아이콘 캐시에 대한 메모를 보내 주셔서 감사합니다. 아이콘 캐시를 지 웁니다. 나는 나의 특별한 경우를 위해 아이콘 캐시 문제가 아니라고 생각한다. 메모 해 주셔서 감사합니다. – sMah

+0

@sMah, 아이콘 캐시 문제이므로 제대로 다시 빌드해야합니다. – Peter

+0

안녕하세요 @ 피터, 귀하의 의견을 보내 주셔서 감사합니다. 나는 C : \ Users \ User \ AppData \ Local \ IconCache.db 을 삭제하고 아이콘을 지우고 내 PC에 로그 오프했다가 로그인합니다. 그런 다음 다시 컴파일했습니다.창 탐색기의 아이콘에도 동일한 문제가 있습니다. (잘못된 아이콘이 표시됨) – sMah

관련 문제