Доступ к% appdata% с помощью VB.NET

Как вы можете получить доступ к файлам в% appdata% через VB.NET?

Например, C:\Users\Kuzon\AppData\Roaming\program. Как я могу получить доступ к этому файлу, но на другом компьютере Windows 7? Кроме того, как вы это сделаете на Windows XP? Я считаю, что это %Application Data%.

Ответы

Ответ 1

Когда вы пишете .NET-код, рекомендуется использовать функции, явно предназначенные для этой цели, вместо того, чтобы полагаться на переменные среды, такие как %appdata%.

Вы ищете метод Environment.GetFolderPath, который возвращает путь к специальной папке, указанной вами в Environment.SpecialFolder перечисление.

Папка данных приложения представлена ​​значением Environment.SpecialFolder.ApplicationData. Это, как вы просили, папку данных перемещаемого приложения. Если вам не нужны данные, которые вы сохраняете, чтобы перемещаться по нескольким машинам и предпочли бы, чтобы он оставался локальным только для одного, вы должны использовать значение Environment.SpecialFolder.LocalApplicationData.

Полный образец кода:

Imports System.Environment

Class Sample
    Public Shared Sub Main()
        ' Get the path to the Application Data folder
        Dim appData As String = GetFolderPath(SpecialFolder.ApplicationData)

        ' Display the path
        Console.WriteLine("App Data Folder Path: " & appData)
    End Sub
End Class

И да, это работает на С# так же, как VB.NET.

Ответ 2

При использовании VB.NET с WinForms это еще один вариант:

System.Windows.Forms.Application.UserAppDataPath

Ответ 3

Function GetAppDataPath() As String
   Return Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
End Function