Connaître le chemin de Mes Documents / Home
Bonjour,
Je cherche une fonction qui me donnerait, en fonction de l'OS sur lequel tourne mon programme, soit :
- le path de "Mes Documents" si on est sous Windows
- le "/home/xxxxx" si on est sous linux (xxxxx représente le login de l'utilisateur)
Je sais qu'il faut utiliser :
- les instructions conditionnelles, mais est-ce valable pour les "uses" ?
- la façon de le faire :D
J'ai bien trouvé ça :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| function MesDocsPath : string;
var
SFolder: PItemIDList;
// erreur compil : identifier PItemIDList not found, error in type definition
SpecialPath: array[0..MAX_PATH] of char;
begin
SHGetSpecialFolderLocation(Application.Handle, CSIDL_PERSONAL, SFolder);
//identifier SHGetSpecialFolderLocation not found,
//identifier idents no member 'Handle',
//identifier CSIDL_PERSONAL not found,
SHGetPathFromIDList(SFolder, SpecialPath);
//identifier SHGetPathFromIDList not found
Result := StrPas(SpecialPath);
end; |
Mais cela ne semble pas fonctionner sous Lazarus (c'est un code pour Delphi - j'utilise lazarus 0.9.24 beta) : le compilo ne reconnait pas par exemple 'PItemIDList' (je précise que j'ai bien inclus 'ShlObj' dans les uses)
A vos bonnes ames ;)