Я программирую в C#/.NET. Я хочу смочь возвратить каталог Program Files из целевой машины, какова архитектура целевой машины. Для разъяснения я хочу, чтобы это возвратилось C (or whatever drive the OS is on):/Program Files
какова разрядность их версия Windows.
Я мог просто hardcode в каталоге кроме того, если бы пользователь запускал Windows, это не установлено на C: диск это не работало бы.
Я нашел
FileInfo(System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFiles)
но я думаю, что это возвращается Program Files (x86)
папка на машине окон на 64 бита.
System.Environment.GetFolderPath (System.Environment.SpecialFolder.ProgramFiles)
возвращает «c: \ Program Files»
на 64-битной машине, если код не создан для целевой x86, и в этом случае он возвращает «C: \ Program Files (x86)»
, так что я думаю, это сработает для вас.