现在的位置: 首页 > 综合 > 正文

刷新图标缓存

2013年07月24日 ⁄ 综合 ⁄ 共 835字 ⁄ 字号 评论关闭

 void CMyDlg::OnButton1()
{
    int   Iconw=GetSystemMetrics(SM_CXICON);
    HKEY hKey;
    RegOpenKeyEx(HKEY_CURRENT_USER,_T("Control Panel//Desktop//WindowMetrics"),0,KEY_ALL_ACCESS,&hKey);
    TCHAR buff[20];
    ZeroMemory(buff,sizeof(buff));
    wsprintf(buff,_T("%d"),Iconw-1);
    
    RegSetValueEx(hKey,_T("Shell Icon Size"),0,REG_SZ,(PBYTE)buff,sizeof(buff));
    
    ::SendMessage(HWND_BROADCAST,WM_WININICHANGE,0,0);
    
    ZeroMemory(buff,sizeof(buff));
    wsprintf(buff,_T("%d"),Iconw);
    
    RegSetValueEx(hKey,_T("Shell Icon Size"),0,REG_SZ,(PBYTE)buff,sizeof(buff));
    
    ::SendMessage(HWND_BROADCAST,WM_WININICHANGE,0,0);
    
    RegCloseKey(hKey);
    
    //    ::SHChangeNotify( SHCNE_ASSOCCHANGED , SHCNF_IDLIST | SHCNF_FLUSH, 0, 0);
    //    ::SendMessage( ::GetDesktopWindow(), WM_KEYDOWN, VK_F5, 0);
//    ::SendMessage( ::GetDesktopWindow(), WM_KEYUP,    VK_F5, 0);
    
}

抱歉!评论已关闭.