У меня есть приложение Visual Basic 6.0, которое я хочу установить для . Все пользователи, например, настройки хранятся в одном месте независимо от того, кто входит в компьютер. У меня есть следующий код, чтобы найти общее расположение:Как написать в общую папку данных приложения?
Const ssfCOMMONAPPDATA = &H23
Dim strAllUsersPath As String
strAllUsersPath = CreateObject("Shell.Application").NameSpace(ssfCOMMONAPPDATA).Self.Path
В операционной системе Windows XP, этот путь указывает C:\Documents and Settings\All Users\Application Data\
папку. Настройка копирует файл настроек там, и все отлично. Приложение Visual Basic 6.0 может изменить его в любое время.
В Windows 7 этот путь указывает на c:\ProgramData
папку. Настройка, требующая прав администратора, копирует файл там. Однако, когда приложение Visual Basic 6.0 запускается и обращается к файлу, Windows 7 копирует файл настроек в C: \ Users {USER LOGIN} \ AppData \ Local \ VirtualStore \ и выполняет все операции над ним. В результате, поскольку для каждого пользователя Windows 7 копирует файл настроек в отдельный каталог пользователя, у пользователей появляется другой файл настроек.
Я храню файл в неправильном месте? Я делаю это неправильно?
[Вопрос и два ответа] (http://stackoverflow.com/questions/3219255/why-do-files-get-placed-c-users-usernameappdata -local-virtualstore-program-fi), которые могут быть интересны – Steve