2010-05-29 13 views
4

J'ai déjà trouvé une petite bibliothèque astucieuse qui utilisait JNI pour permettre aux applications Java sur Windows d'obtenir les emplacements de divers répertoires "spéciaux" sur Windows. Je ne peux pas pour la vie de moi le retrouver ...Java api pour obtenir des dossiers spéciaux Microsoft Windows

En particulier, je dois obtenir l'emplacement du répertoire "All Data" (partagé) "Application Data".

Donc, quelqu'un a un moyen pare-balles en Java pour localiser le dossier "Application Data" de "Tous les utilisateurs"?

Il doit être à l'épreuve des balles.

+0

Le moyen pare-balles de faire cela Windows API SHGetKnownFolderPath http://msdn.microsoft.com/en-us/library/bb762188%28v=VS.85%29.aspx mais je ne connais pas un moyen facile de appelez cela de Java. – Rup

+0

JNA est livré avec un ensemble assez complet de liaisons API standard, c'est peut-être ce que vous voulez dire? https://github.com/twall/jna – millimoose

Répondre

-1

Vous pouvez utiliser la propriété suivante dans l'environnement:
ALLUSERSPROFILE = C: \ Documents and Settings \ All Users

Edit: Ce ne fonctionne plus que de Windows Vista et plus récent.

+0

Est-ce que cela fonctionne sur toutes les versions de Windows, y compris XP? – SvrGuy

+0

yup, fonctionne sur ma machine XP –

+0

Ceci est cassé. Sous Windows Vista et plus récent, il fait référence au dossier 'C: \ ProgramData' par défaut. (cc @SvrGuy) – Bob