Tag: windows explorer

如何告诉Windows资源管理器刷新其图标?

一旦我的安装程序完成了我的应用程序的exe的新版本的安装,我想告诉Explorer使用新exe的图标作为其快捷方式。 但是,我无法弄清楚如何做到这一点。 从在线阅读,看起来问题是系统图像列表正在缓存旧版本的图标。 我尝试使用SHCNE_UPDATEIMAGE参数调用SHChangeNotify 。 我试过调用SHUpdateImage 。 我甚至尝试过广告WM_SETTINGCHANGE的大锤方法 。 似乎没什么用。 我完全有可能做错事。 任何帮助,将不胜感激。 警告:非常难看的测试代码如下。 #if 1 // First attempt: using shell functions wchar_t icon_path[MAX_PATH]; int icon_index; UINT icon_flags; IShellFolder *desktop_folder; IShellFolder *sub_folder; IExtractIcon *extract_icon; LPITEMIDLIST pidl; SHGetDesktopFolder(&desktop_folder); wchar_t *folder_path = L”C:\\Documents and Settings\\All Users\\Start Menu\\Programs\\MyCompany\\”; desktop_folder->ParseDisplayName(NULL, NULL, folder_path, NULL, &pidl, NULL); desktop_folder->BindToObject(pidl, NULL, IID_IShellFolder, (void**) &sub_folder); […]

如何获取当前活动的Windows资源管理器窗口的HWND?

我知道如何获得桌面的HWND: GetDesktopWindow() 。 但是我找不到一个返回当前活动的 Windows资源管理器主窗口的HWND的函数。 如何以安全可靠的方式获取当前活动的Windows资源管理器窗口的HWND?