Каков наилучший способ получить путь к этой папке программно: Windows\system32\config\systemprofile\AppData\Local
?
Как получить путь к папке Windows\system32\config\systemprofile\AppData\Local\ в С#?
Ответы (4)
Я не могу писать комментарии, извините. Для чего вы используете путь? Где хранится приложение? Это приведет вас туда ??
string path = "C:\\Windows\system32\config\systemprofile\AppData\Local";
При условии, что C: это имя диска.
Вам действительно нужно немного расширить свой вопрос.
Это дублирующий вопрос??
Как читать существующие текстовые файлы без указания пути
System.IO.Path.Combine(appPath, etc.);
Если он обращается к нему непосредственно из программы, установленной в другом месте, ему придется добавить больше пути. Как ОП получает к нему доступ. Вот в чем вопрос. Как я сказал. Я не могу комментировать, так что, думаю, на данный момент правит @downvoters. Просто пытаюсь помочь.
- person ; 03.12.2014
Образец кода
HttpContext.Current.Server.MapPath();
System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath;
Я думаю, вы можете использовать Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData
В моем проекте вот так string configPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "MyProject", "SERVICER", "config.ini");
Он получает каталог данных приложения для всех пользователей (содержат систему, службу, гостя и т. д.). Я использую его для сохранения конфигурации Сервиса!!
CommonApplicationData
возвращает C:\ProgramData
.
- person Ant_222; 24.04.2019
Windows\system32
, рассмотрите вариант ниже: Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "config", Environment.UserName, "AppData", "Local");
- person Henry Trần; 02.05.2019
C:\Windows\System32\config\systemprofile\Desktop
(в случае 32-битной архитектуры) и C:\Windows\SysWOW64\config\systemprofile\Desktop
(в случае 64-битной архитектуры), если он не существует, чтобы использовать MS Office Interop из Служба Windows.
- person Ant_222; 03.05.2019
Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.SystemX86), "config", "systemprofile", "AppData", "Local");
- person Henry Trần; 07.05.2019
Environment.GetFolderPath(Environment.SpecialFolder.SystemX86)
автоматически даст вам результат system32
или syswow64
в зависимости от исполняемого компьютера.
- person Henry Trần; 07.05.2019
SpecialFolder.SystemX86
! Этот член перечисления назван неправильно?
- person Ant_222; 07.05.2019
// Summary: // The Windows System folder. Added in the .NET Framework 4. SystemX86 = 41,
Это краткая информация об этом участнике. Я думаю, может быть, вы не используете dotnet 4 или выше!! Если это так, к сожалению, я думаю, что это самый простой способ получить желаемые результаты.
- person Henry Trần; 08.05.2019
IntPtr.Size
.
- person Ant_222; 08.05.2019
IntPtr.Size
, у этого есть недостаток: если приложение собрано с флагом x86, оно всегда будет иметь значение 4, поэтому в вашем запросе использование IsWow64Process
в kernel32
всегда будет точнее!
- person Henry Trần; 09.05.2019
Windows\system32
,.. а в среде x64 systemprofile
существует только в папке SysWOW64
!!
- person Henry Trần; 14.05.2019
Вы можете получить путь таким образом:
Environment.GetFolderPath(System.Environment.SpecialFolder.LocalApplicationData)
LocalApplicationData
возвращает C:\Users\anton\AppData\Local
в моей системе.
- person Ant_222; 24.04.2019