Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как получить путь к папке Program Files на x64 винде? / 9 сообщений из 9, страница 1 из 1
21.04.2016, 22:41
    #39221895
Pantalone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить путь к папке Program Files на x64 винде?
SHGetSpecialFolderPath через
CSIDL_PROGRAM_FILES
CSIDL_PROGRAM_FILESX86
возвращает всегда C:\Program Files (x86), а мне надо еще C:\Program Files
Это нужно для предупреждения пользователя, чтобы выбирая системную папку не натворил там делов. По идее система сама не даст файлы в системных папках колупать программно, но мало ли проскочит как-то, надо пользователя предупредить.
...
Рейтинг: 0 / 0
21.04.2016, 23:57
    #39221937
Pantalone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить путь к папке Program Files на x64 винде?
Насколько надежно получать эти пути из реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion или через Environ?
Через api как-то привычнее и надежнее, но если без api эти два способа пойдут или не всегда?
...
Рейтинг: 0 / 0
22.04.2016, 12:04
    #39222272
VSVLAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить путь к папке Program Files на x64 винде?
Pantalone,

Скорее всего это связано с разрядностью приложения. Т.к. VB6 создаёт 32-битные приложения, то система автоматически в среде WOW64 перенаправляет в доступные директории. В VB.NET проверил с этой же API и этими константами, всё работает как следует.
...
Рейтинг: 0 / 0
23.04.2016, 13:32
    #39223046
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить путь к папке Program Files на x64 винде?
Это не поможет чем-то?
Код: vbnet
1.
2.
3.
4.
Private Sub ProgrammFolders()
    MsgBox Environ("PROGRAMFILES(x86)") 
    MsgBox Environ("PROGRAMFILES")
End Sub


Если система 32 бита - то Environ("PROGRAMFILES(x86)") выдаст ""
...
Рейтинг: 0 / 0
25.04.2016, 17:04
    #39224052
Pantalone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить путь к папке Program Files на x64 винде?
The_PristЭто не поможет чем-то?

Нет уверенности, что Environ везде и всегда работает и выдает корректные данные.
...
Рейтинг: 0 / 0
25.04.2016, 20:54
    #39224223
VSVLAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить путь к папке Program Files на x64 винде?
Pantalone,

Вычитал, начиная с Windows 7 и выше для получения папки Program Files 64 бит, можно читать переменную:
Код: vbnet
1.
MsgBox Environ("ProgramW6432")
...
Рейтинг: 0 / 0
25.04.2016, 21:17
    #39224234
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить путь к папке Program Files на x64 винде?
PantaloneНет уверенности, что Environ везде и всегда работает и выдает корректные данныеОткуда такие сомнения? Я пробовал на 32 и 64 бит - работало без проблем.
...
Рейтинг: 0 / 0
25.04.2016, 22:31
    #39224252
Pantalone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить путь к папке Program Files на x64 винде?
Боюсь, что пользователь может сменить это окружение, наковыряв чего-нить в настройках профиля. В то время как глобальные системные пути останутся нетронутыми.
...
Рейтинг: 0 / 0
26.04.2016, 09:15
    #39224401
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить путь к папке Program Files на x64 винде?
Pantaloneпользователь может сменить это окружение, наковыряв чего-нить в настройках профиляКакое окружение сменит пользователь? ProgrammFiles? Это что он должен наковырять, чтобы эти папки пропали? Или речь про Environ? Так эта функция только для чтения и у неё просто есть сопоставление с зарезервированными числовыми/текстовыми константами, которые пользователь изменить не в состоянии.

В общем я не понимаю чего Вы хотите добиться и какого совета просите.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как получить путь к папке Program Files на x64 винде? / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]