我需要在WinXP到Win8中将配置文件读写到Windows磁盘。最好的地方在哪里?似乎ProgramData文件夹不允许。
procedure TfrmMain.FormCreate(Sender: TObject);
var
path: array[0..MAX_PATH] of char;
begin
SHGetFolderPath(0, CSIDL_COMMON_APPDATA, 0, SHGFP_TYPE_CURRENT, @path);
AppPath:= Path;
AppPath:= AppPath + '\Customer\';
if not DirectoryExists(AppPath) then
CreateDir(AppPath);
if FileExists(AppPath + 'Customers.cst') then
LoadFromFile(AppPath + 'Customers.cst');
end;
procedure TfrmMain.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if ListModified then
begin
if MessageDlg('Save Changes?', mtWarning, [mbYes, mbNo], 0) = mrYes then
SaveToFile(AppPath + 'Customers.cst');
canClose:= True;
end
else
canClose:= False;
end;
CSIDL_APPDATA
),而不是每台计算机 (CSIDL_COMMON_APPDATA
)。 - Andreas Rejbrand