2016-11-28 4 views
-1

У меня есть служебная программа Windows, которая сохраняет файлы в папке данных приложения локальной системы. У меня также есть форма окна, которая должна читать эти файлы и запускаться на разных учетных записях пользователей, но я не знаю, как получить переменная среды другого пользователя, в частности, локальная система. Если это возможно, я был бы признателен за пример, спасибо вам заранее.Получить переменную среды для другого пользователя?

+0

Пробовал ли вы 'String myEnv = System.getenv (" env_name ");'? –

+0

Возможно, ваша программа предназначена для чтения и записи в общую папку данных приложения, а не в папку данных конкретных приложений. –

+0

@ScottChamberlain Должно быть, я должен сделать это намного проще, кстати, что было бы хорошей общей папкой данных приложения? –

ответ

1

Просто позвоните Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData); и создайте подпапку в папке, которую она возвращает, чтобы сохранить ваши файлы. Это место предназначено для хранения данных, отличного от пользователя.

Место по умолчанию - C:\ProgramData, но вы должны использовать эту функцию, чтобы получить ее вместо hardcoding пути. Кроме того, вы не можете сохранять файлы в корневой папке этой папки, но вы можете создавать подпапки и сохранять файлы в этом.

+0

Большое вам спасибо :)) –

+0

Обратите внимание, что * если * файлы для одного пользователя не должны быть видимы другому пользователю (например, если они содержат информацию, закрытую для этого человека), вы должны убедиться, что вы устанавливаете разрешения на файлов соответственно. (Если это нормально, что другие пользователи могут читать файлы, вам не нужно беспокоиться.) –

Смежные вопросы