Я пишу сервис, где мне необходимо получить папку AppData\Roaming. Пользуюсь следующей конструкцией Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
Но получаю следующее значение: C:\WINDOWS\system32\config\systemprofile\AppData\Roaming\
Но если я запускаю консольное приложение и проделываю все тоже самое - получаю правильный результат. Может кто-нибудь, пожалуйста, объяснить в чем дело. Бьюсь несколько часов над проблемой и не могу никак решить.
C:\WINDOWS\system32\config\systemprofile
- это путь к профилю для пользователя SYSTEM. Если вам нужен профиль другого пользователя, запускайте сервис от его имени, или найдите путь для конкретного пользователя (у SYSTEM для этого достаточно прав). Это можно сделать как-то так:
Получить токен пользователя через LogonUser
Загрузить его профиль через LoadUserProfile
Получить путь к нужной папке с помощью SHGetKnownFolderPath, передав ей полученный токен
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Каким образом с помощью C# можно вставлять текст на поля (placeholder) в документ libreoffice writer? Где можно найти руководство? К сожалению, информацию...
надо сделать возможность развернуть в виде дерева, как на скрине
Допустим, у меня есть NavigationView с некоторым числом item-ов и Frame Как мне сделать так, чтобы менялось отображение только в Frame? В инете нашёл только...