因为SHGetFolderPath 在98下不能直接调用,
所以必须动态链接shfolder.dll,
原型:
SHFOLDERAPI SHGetFolderPathA(HWND hwnd, int csidl, HANDLE hToken, DWORD dwFlags, LPSTR pszPath);typedef HRESULT (*MYPROC)(HWND,int,HANDLE,DWORD,LPTSTR); MYPROC g_pfnSHGetFolderPath; HMODULE hModSFolder = LoadLibrary("shfolder.dll");
if ( hModSHFolder != NULL ) 
{
(g_pfnSHGetFolderPath = (MYPROC)GetProcAddress(hModSHFolder,"SHGetFolderPathA"));
}
else
{
g_pfnSHGetFolderPath = NULL;
AfxMessageBox("can't load shfolder.dll");
return 1;
}
if((g_pfnSHGetFolderPath)(NULL,CSIDL_PROGRAM_FILES,NULL,SHGFP_TYPE_CURRENT,Buffer)==E_FAIL)
{
AfxMessageBox("Can't Find Program File folder.");
                FreeLibrary(hModSFolder);
return 1;
}
        FreeLibrary(hModSFolder);