powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / SHSetFolderPath для COMMON
4 сообщений из 4, страница 1 из 1
SHSetFolderPath для COMMON
    #34530491
v skopin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, all!

Как поменять папку "Общие документы"?
Вот так расплывчато: msdn2 из SHSetFolderPathhToken
[in] An access token used to represent a particular user. The hToken value is usually NULL. However, you might need to assign a value to hToken for those folders that can have multiple users but are treated as belonging to a single user. The most commonly used folder of this type is My Documents.
The caller is responsible for correct impersonation when hToken is non-NULL. The token must have appropriate security privileges for the particular user, including TOKEN_QUERY and TOKEN_IMPERSONATE, and the user's registry hive must be currently mounted. For further discussion of access control issues, see Access Control.
Вся ссылка Что я только не делал!
OpenProcessToken(
System.Diagnostics.Process.GetCurrentProcess().Handle,
TOKEN_QUERY | TOKEN_IMPERSONATE,
ref htoken)
Пытался методом тыка AdjustTokenPrivileges (всё там идёт на true! Хотя SHSetFolderPath при успехе должна быть кривда!)

Заранее спасибо ВС

PS Для текущего юзера всё ОК, т.е. "Мои Документы" устанавливаются!
...
Рейтинг: 0 / 0
SHSetFolderPath для COMMON
    #34537015
Aicg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я понял нужна поменять путь папки для эксплорера насчет процес токена я незнаю но если я правильно понял нужно просто поменять значение параметра реестра в котором записан путь этих папок они записаны вроде в HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
или скачать прогру XPTweaker(я когда-то много интересных параметров из нее узнал) и лучше не последнию версию(мне 1.5.2 больше понравилась)

извените если неправильно понял вопрос

да и я так и не понял доконца что делает(вроде что-то про разрешения) OpenProcessToken если не трудно обьясните или еще лучше скиньте исходники
...
Рейтинг: 0 / 0
SHSetFolderPath для COMMON
    #34537017
Aicg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
^
| пардон примеры
...
Рейтинг: 0 / 0
SHSetFolderPath для COMMON
    #34545225
v skopin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AicgНасколько я понял нужна поменять путь папки для эксплорера насчет процес токена я незнаю но если я правильно понял нужно просто поменять значение параметра реестра в котором записан путь этих папок они записаны вроде в HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
или скачать прогру XPTweakerЭто как-то не красиво!
Т.е.
1. На Висте таким образом не поменять!(SHSetFolderPath меняет!)
2. х64 и ч86 имеют разные реестры!

PS
Хотя на Висте у меня всё работает! проблема на ХР х64
Делую так: если(!SHSetFolderPath) то в реестр (HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders)

Но не считаю задачу на 100% побежденной!
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / SHSetFolderPath для COMMON
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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