このブログ「吟遊詩人の戯言」 の記事検索...

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

関連記事

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とかの定数,定義されてない感じなので
適時,定義してください

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

 
 
 
 

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <img localsrc="" alt="">