2012-02-02 20 views
5

En Windows 7, ¿cómo puedo obtener programáticamente la carpeta temporal del sistema?¿Cómo obtener la "carpeta temporal" en Windows 7?

+0

corrección - carpeta temporal, no la carpeta de usuario – Ullan

+0

He actualizado la cuestión de decir "carpeta temporal del sistema", espero que es lo quieres decir, desde el último comentario. Agregue más aclaraciones si esto es un requisito absoluto, por ejemplo. –

+0

Para el usuario, la variable de entorno 'TEMP' (aunque creo que también hay un WinAPI para esto ...?) Debería ser suficiente. Sin embargo, no estoy seguro de cómo hacerlo sin consolidar de un usuario. –

Respuesta

16

La función GetTempPath es probablemente lo que usted está buscando.

TCHAR buf [MAX_PATH]; 

if (GetTempPath (MAX_PATH, buf) != 0) 
    MessageBox (0, buf, _T("Temp path"), 0); 
+2

Esto no recupera la carpeta SYSTEM temp en la mayoría de los casos. De forma predeterminada, devolverá la carpeta temporal del usuario, que generalmente es \ Users \ \ AppData \ Local \ temp. –

+0

La pregunta originalmente decía "carpeta temporal", no "carpeta temporal del sistema". –

2

¿Ha dado una oportunidad a GetTempPath()?

Recupera la ruta del directorio designado para los archivos temporales.

puede encontrar un ejemplo de código here.

+0

El enlace también contiene el orden en que se determina el archivo temporal, que parece ser el primero en el usuario e implica que el "Directorio de Windows" es la ruta temporal final. –

+1

De hecho, debe leerse como la carpeta "Temp" dentro del directorio% WINDIR%. – nulltoken

+0

No devolverá% WINDIR% \ temp en la mayoría de los casos. –

Cuestiones relacionadas