2010-08-03 16 views
5

¿Qué sería una aplicación de 32 bits ejecutándose en Windows   7 para el siguiente?Valor Environment.SpecialFolder.ProgramFiles para una aplicación de 32 bits en Windows 7?

Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) 

C:\Program Files (x86) o C:\Program Files?

+0

Creo que esto supone una versión en inglés de Windows. –

+0

¿Desea la ruta desde una vista del sistema de archivos de proceso de 32 bits o una vista del sistema de archivos del proceso de 64 bits (por ejemplo, Windows Explorer)? –

+0

[Este] (http://stackoverflow.com/questions/194157/c-how-to-get-program-files-x86-on-vista-x64) podría ser útil también (otra pregunta SO). – cjk

Respuesta

1

C: \ Archivos de programa (x86)

11

en 32 bits de Windows 7 usted debe conseguir "C: \ Archivos de programa", en 64 bits "C: \ Archivos de programa (x86)".

+0

¿Podemos de alguna manera obtener la ruta C: \ Archivos de programa (x86) en lugar de C: \ Archivos de programa? –

+1

No es necesario agregar "x86" en sistemas de 32 bits. Si desea obtener la ruta x86 incluso mientras ejecuta una aplicación de 64 bits en un sistema de 64 bits, solicite Environment.SpecialFolder.ProgramFilesX86 en su lugar. – Mario

+1

Eso no es totalmente cierto, depende de la fragilidad del proceso ... 'SpecialFolder.ProgramFiles' en una compilación x86 en un x64 os le da * C: \ Archivos de programa (x86) * –

0

"C: \ Archivos de programa (x86)"

3

Bueno, yo estoy con Windows 7 Ultimate 32 bits, así que quería saber con certeza qué fue devuelto, por lo que poner esto en una aplicación de consola para ver qué fue devuelto

Console.WriteLine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)); 

Y volvió C: \ archivos de programa

8

no importa lo que devuelve. Cualquiera de los dos valores se asignará a la misma carpeta, la virtualización del sistema de archivos siempre lo correlacionará con (x86) para una aplicación de 32 bits.

+0

+1: Útil para saber – cjk

Cuestiones relacionadas