Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / SHSetFolderPath для COMMON / 4 сообщений из 4, страница 1 из 1
16.05.2007, 18:54
    #34530491
v skopin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SHSetFolderPath для COMMON
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
18.05.2007, 22:10
    #34537015
Aicg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SHSetFolderPath для COMMON
Насколько я понял нужна поменять путь папки для эксплорера насчет процес токена я незнаю но если я правильно понял нужно просто поменять значение параметра реестра в котором записан путь этих папок они записаны вроде в HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
или скачать прогру XPTweaker(я когда-то много интересных параметров из нее узнал) и лучше не последнию версию(мне 1.5.2 больше понравилась)

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

да и я так и не понял доконца что делает(вроде что-то про разрешения) OpenProcessToken если не трудно обьясните или еще лучше скиньте исходники
...
Рейтинг: 0 / 0
18.05.2007, 22:11
    #34537017
Aicg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SHSetFolderPath для COMMON
^
| пардон примеры
...
Рейтинг: 0 / 0
23.05.2007, 12:55
    #34545225
v skopin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SHSetFolderPath для COMMON
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
Форумы / C++ [игнор отключен] [закрыт для гостей] / SHSetFolderPath для COMMON / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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