파일과 폴더에 오버레이 아이콘을 표시하기 위해 IShellIconOverlayIdentifier 인터페이스를 사용하는 Windows 셸 확장이 있습니다. 내 확장 프로그램은 TortoiseCVS 또는 TortoiseSVN과 약간 비슷합니다.프로그래밍 방식으로 Windows 탐색기를 새로 고칠 수 있습니까?
때로는 Windows 탐색기에서 모든 아이콘을 다시 그려야합니다. 이 작업을 수행하려면이 같은 SHChangeNotify 전화 :
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL)
이것은 열려있는 탐색기 윈도우의 바탕 화면과 오른쪽 창을 새로 고칩니다. 탐색기 창의 왼쪽에있는 폴더 트리를 새로 고치지 않습니다.
그래서 나는이 같은 WM_SETTINGCHANGE를 보내는 시도 : Vista에서SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0)
이 폴더 트리를 새로 고쳐 아니지만 오른쪽 창.
SHChangeNotify()
다음에 WM_SETTINGCHANGE
이 오는 조합은 Vista에서 아주 잘 작동하는 것 같습니다. 하지만 XP에서 폴더 트리가 표시되면 새로 고칠 수 없습니다.
아무에게도 더 좋은 방법이 있습니까?
XP에 대한 더 나은 솔루션이 있습니까?
발신 SHCNE_ASSOCCHANGED
은 머리 위로 클럽 탐색기와 조금 비슷합니다. 이로 인해 바탕 화면 전체가 매우 격렬하게 새로 고침되고 탐색기 창을 열어서 스크롤 위치가 느슨해집니다. 조금 덜 폭력적인 것이 있습니까?
XP 용 TweakUI에는 "복구 아이콘 캐시"옵션이 있습니다. SPY ++를 사용하면 그 기능을 볼 수 있습니다. –
휴! 문제를 해결할 수 있었습니까? – A9S6