|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Как узнать путь к Application Data?
Как можно узнать пусть к папке Application Data текущего пользователя (для хранения там конфигурации программы)?
Использовал следующий код: Код:
uses ShlObj; function GetSpecialPath(CSIDL: word): string; var s: string; begin SetLength(s, MAX_PATH); if not SHGetSpecialFolderPath(0, PChar(s), CSIDL, true) then s := ''; result := PChar(s); end; Но он выдает такую фигню: Из-за чего так может быть? Какие еще могут быть способы (не требующие прав администратора) на том же WinApi? ОСь Windows 7, Delphi 2010. |
#2
|
||||
|
||||
Советую посетить ресурс google с вопросом: Delphi Unicode
Или узнать константу AppData на языке WinApi у того же google А это в наши ворота даже вписывается: Поиск по форуму: дал ответ Последний раз редактировалось Uniq!, 07.10.2010 в 21:39. |
#3
|
|||
|
|||
Цитата:
|
#4
|
|||
|
|||
%appdata% так в самой винде
|
#5
|
||||
|
||||
это CMD шная константа)
здесь речь идёт о программном коде её. я думаю в той теме автор найдёт ответы на все свои вопросы, там очень много полезного |
#6
|
||||
|
||||
%AppData% - Указывает путь до папки Application Data текущего пользователя, в которой хранятся настройки некоторых программ.
Код:
function GetWin(Comand: string): string; var buff: array [0 .. $FF] of char; begin ExpandEnvironmentStrings(PChar(Comand), buff, SizeOf(buff)); Result := buff; end; Edit1.Text := GetWin('%AppData%'); IDE := Embarcadero.RADStudio.XE.Architect // Успешность метода научного тыка обратно пропорциональна извилистости головного мозга на кривизну рук © |
#7
|
||||
|
||||
Про Null-terminated string никогда не слышали?
Код:
SetLength(s, MAX_PATH); ShlObj.SHGetSpecialFolderPath(0, @s[1], CSIDL, false); SetLength(s, Pos(#0, s)-1); РГРТУ - ФВТ - Системы Автоматизированного ПРоектирования. ت |