[API WIN32] Pb avec SHGetSpecialFolderLocation
Bonjour
J'utilise la fonction suivante (basée sur "SHGetSpecialFolderLocation") avec nValeur = CSIDL_SYSTEM (= 0x025) pour récupérer le répertoire système de Windows (qui est souvent "C:\\Windows\\System32")
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
//-------------------------------------------------------------------
// Lit les répertoires spéciaux de Windows
//-------------------------------------------------------------------
char* Xdir::fnLireRepertoireSpecial(long nValeur)
{
char szPath[MAX_PATH + 1];
LPITEMIDLIST pidl;
szPath[0] = 0;
if (SHGetSpecialFolderLocation( 0, nValeur, &pidl ) == S_OK)
SHGetPathFromIDList( pidl, &szPath[0] );
return &szPath[0];
}// fnLireRepertoireSpecial |
...et avec Windows 98 se, SHGetSpecialFolderLocation ne me renvoie pas S_OK parce que CSIDL_SYSTEM est un paramètre qui ne fonction qu'avec SHGetSpecialFolderLocation et sa DLL shell32.dll en version 5.0. Or sur Windows 98, elle est seulement en version 4.0.
Comment récupérer le répertoire système sur Windows 98 alors ?