[인스톨쉴드] 아이콘 Refresh 하는 방법 SHChangeNotify()
installer2011. 10. 28. 22:40
레지스트리로 아이콘을 연결한 후 바로 아이콘을 적용시키기 위해서는 SHChangeNotify()를 사용해서 Refresh 시켜줘야 된다.
인스톨쉴드 스크립트를 열고 아래와 같이 입력한다
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include "ifx.h" #include "winapi.h" #define DLL_FILE "Shell32.dll" #define SHCNE_ASSOCCHANGED 0x08000000 #define SHCNF_IDLIST 0x0000 prototype Shell32.SHChangeNotify(LONG, LONG, POINTER, POINTER); //--------------------------------------------------------------------------- // OnEnd // // The OnEnd event is called at the end of the setup. This event is not // called if the setup is aborted. //--------------------------------------------------------------------------- function OnEnd() begin SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL); end; |
OnEnd() 부분에 넣는 이유는 설치 및 삭제 과정의 마지막 버튼인 '마침' 버튼을 누를때 동작하도록 구현하는 부분이므로, 한줄만 추가해주면 아이콘 리프레시는 확실하게 된다
'installer' 카테고리의 다른 글
[NSIS] nsis 환경에서 icon refresh 방법 (SHChangeNotify) (0) | 2015.06.15 |
---|---|
[NSIS] 32비트와 64비트 환경에서 dll(com server) 레지스트리 등록방법 (0) | 2015.06.15 |
[NSIS] 64비트 환경 $SYSDIR 의 Syswow64 와 system32 구분방법 (0) | 2015.06.15 |
[인스톨쉴드] 레지스트리 값 스크립트로 수동으로 입력하는 방법 (0) | 2011.10.28 |