Не полностью вопрос о программировании, но его достаточно близкое, таким образом, здесь идет:
В Mac OS я помещу определенные для пользователя файлы для своего приложения в ~/Library/Application Data/{MyApp}/
и в *отклоняют, я вставлю их ~/.{MyApp}/
- куда я должен поместить их для Windows?
Я буду использовать Ruby File.expand_path
добираться до этого каталога, поэтому если существует окна, эквивалентные из ~
затем это прекрасно.
(Ответы для Windows XP, Vista и 7 ценились бы, если они не то же),
В Windows это можно сделать с помощью переменной среды ApplicationData
. Если вы использовали C #, вы можете получить папку, с которой он сопоставляется, с помощью System.Environment.GetFolderPath (Environment.SpecialFolder.ApplicationData)
, поиск в Google эквивалента Ruby это ENV ['APPDATA']
. В англоязычной Windows он отображается в:
C: \ Users \% username% \ AppData \ Roaming \
(в Vista и Windows 7)
C: \ Documents and Settings \% username% \ Application Data \
(В XP)
Он может отображаться в другую папку на других языках, но пока вы получаете каталог из переменной среды, а не жестко его кодируете, это не имеет особого значения. . Если вы создадите там папку для своего приложения и сохраните в ней данные, Vista и 7 разрешат доступ для чтения и записи без предоставления запросов UAC.
Навскидку, я не уверен, как Ruby обрабатывает expand_path в ~ для Windows. В Windows есть такие функции, как SHGetSpecialFolderPath
и SHGetSpecialFolderLocation
для такого рода вещей. Может показаться очевидным, что для expand_path использовать один из них, но я не знаю, работает ли он точно.
Для Vista, Windows 7 и Windows XP
char appdir[MAX_PATH];
size_t requiredSize;
errno_t err= getenv_s( &requiredSize, appdir, MAX_PATH, "appdata" );
кажется проще, чем использовать устаревшие API-интерфейсы или те, которые не работают в Windows XP.