Targeting .Net Framework 3.5
, вы можете получить все переменные среды с помощью Environment.GetEnvironmentVariables () .Этот метод существует с .Net 1.1
(и все еще действует в .Net 4.7.2
)
Dim dict As IDictionary = Environment.GetEnvironmentVariables(EnvironmentVariableTarget.Process)
EnvironmentVariableTarget
может быть ограничено EnvironmentVariableTarget.Machine
или EnvironmentVariableTarget.User
для подмножества значений.
Когда вы проанализируете возвращенный словарь, вы увидите, что он содержит две переменные (среди прочих):
ProgramFiles
иProgramFiles(x86)
← Без пробелов
Их путь можно затем получить с помощью:
Dim ProgramFiles As String = Environment.GetEnvironmentVariable("ProgramFiles")
Dim ProgramFilesx86 As String = Environment.GetEnvironmentVariable("ProgramFiles(x86)")
Возвращаемые значения зависят как от ОС, так и от разрядности приложения.
Когда программа нацелена на x86
на машине x64
, они оба вернут ...\Program Files (x86)
На машине x86
они оба вернут ...\Program Files