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

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


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

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

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

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


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