Obtenir le chemin du dossier temporaire de l'utilisateur dans Windows
Comment je peux obtenir le dossier temp de l'utilisateur chemin en C++? Mon programme doit s'exécuter sur Windows Vista et XP et ils ont différentes temp chemins. Comment je peux l'obtenir sans perdre de compatibilité?
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
Est-il une raison pour laquelle vous ne pouvez pas utiliser le Win32 GetTempPath API?
Cette API est disponible à partir de W2K et donc sera disponible sur l'ensemble de vos objectifs énumérés.
La GetTempPath fonction récupère le chemin d'accès du répertoire désigné pour les fichiers temporaires. Cette fonction remplace la GetTempDrive fonction.
Paramètres
nBufferLength
Indique la taille, en nombre de caractères) de la mémoire tampon de chaîne identifiés par lpBuffer.
lpBuffer
Points d'une chaîne de tampon qui reçoit le nul chaîne de caractères spécifiant le chemin du fichier temporaire.
Valeurs De Retour
Si la fonction réussit, la valeur de retour est la longueur, en nombre de caractères de la chaîne copiée à lpBuffer, non compris le caractère de fin null. Si la valeur de retour est supérieure à nBufferLength, la valeur de retour est la taille de la mémoire tampon nécessaire pour maintenir la trajectoire.
Si la fonction échoue, la valeur de retour est nulle. Pour obtenir des informations sur l'erreur, appelez GetLastError.
Remarques
La GetTempPath fonction récupère le fichier temporaire chemin d'accès comme suit:
Utilisation GetTempPath() pour récupérer le chemin du répertoire désigné pour les fichiers temporaires.
GetTempPath ne marchera pas sur Vista, à moins que les utilisateurs disposent d'un accès administratif. Je suis en cours d'exécution sur ce problème en ce moment avec l'une de mes applications.
Fonction GetTempPath sera de retour un chemin avec un nom court,par exemple:
C:\Users\WDKREM~1\AppData\Local\Temp\
.Pour obtenir plein temp nom de chemin d'accès,utilisez GetLongPathName par la suite.