Сохранение данных приложения в Windows XP, когда "Запуск от имени" означает "защиту компьютера от несанкционированной активности"
Я пытаюсь сделать так, чтобы я мог сохранять данные из моей программы, когда пользователь запускает приложение через run, как будто через это диалоговое окно. Я обнаружил, что на самом деле я не могу писать в любую папку и позже читать из нее. Я пробовал "Все пользователи", Данные приложения, Мои документы и т. д., но безрезультатно.
Есть идеи, как и где я должен сохранять и читать данные, когда Windows XP не позволяет моему приложению выполнять "несанкционированные действия"?
2 ответа
Когда флажок "защищать" установлен, вы не можете нигде писать (реестр или файловая система), и это своего рода точка. Большинство программ даже не запускаются с этой опцией. Под капотом используется SAFER API. Для получения дополнительной информации, проверьте этот блог
Если вы не являетесь администратором, вы можете не иметь права работать с папками других пользователей. Если вы хотите работать с папками, принадлежащими пользователю, запустившему ваше приложение, попробуйте использовать переменную среды APPDATA, которая должна содержать путь к папке с данными приложения этого пользователя. Переменные среды доступны через Win32 API или другие методы, в зависимости от вашего языка программирования.