2009-11-19 4 views
0

L'icône par défaut dans Vista est répertorié sous:Charger l'icône par défaut pour Shell

HKEY_CLASSES_ROOT \ Unknown \ DefaultIcon

Comme:

% SystemRoot% \ System32 \ shell32.dll, 0

Je veux charger une version 48x48 de cette icône en C++. J'ai essayé:

hIcon = (HICON)::LoadImage(hmShell32, MAKEINTRESOURCE(0), IMAGE_ICON, 48, 48, LR_DEFAULTCOLOR); 

Cependant je reviens un hIcon NULL et quand je l'appelle :: GetLastError() il retourne: ERROR_RESOURCE_TYPE_NOT_FOUND

Comment charger l'icône par défaut de Shell32.dll?

Merci à l'avance, Wayne Walter Berry

{6230289B-5BEE-409F-932a-2F01FA407A92}

Répondre

0

Si vous avez seulement pour soutenir Vista/7 alors cela devrait fonctionner.

SHSTOCKICONINFO iconInfo; 
iconInfo.cbSize = sizeof(iconInfo); 
if(SUCCEEDED(SHGetStockIconInfo(SIID_DOCNOASSOC, SHGSI_ICONLOCATION, &iconInfo))) 
{  
    wcex.hIcon = (HICON)::LoadImage(LoadLibrary(iconInfo.szPath), MAKEINTRESOURCE(-iconInfo.iIcon), IMAGE_ICON, 48, 48, LR_DEFAULTCOLOR); 
} 
Questions connexes