アプリケーションデータフォルダの取得

関連記事

DELPHIの古いバージョンとかで

“C:\Documents and Settings\All Users\Application Data”とか
ディスクトップのフォルダとかをいわゆるスペシャルフォルダ系を取りたいときの方法です

const
    CSIDL_COMMON_APDATA = $0023;

function GetApplicationDataDir : string;
var
    Pidl: PItemIDList;
    pMalloc : IMalloc;
    tmpPath: array[0..MAX_PATH-1] of Char;
begin
    OleCheck(CoGetMalloc(1, pMalloc));
    OleCheck(SHGetSpecialFolderLocation(0, CSIDL_COMMON_APDATA, Pidl));
    try
        Assert(SHGetPathFromIDList(Pidl, tmpPath));
    finally
        pMalloc.Free(Pidl);
    end;

    Result := tmpPath;
    Result := Result + '\';
end;
CSIDL_COMMON_APDATAとかの定数,定義されてない感じなので
適時,定義してください

このスペシャルフォルダ系の定義は,こちらに一覧があります

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください