2011년 3월 15일 화요일

시스템 경로를 받아오는 방법

uses 에 ShlObj 추가.

functionGetSpecialPath(sPath: Integer): PAnsiChar;
var
pIDList: PItemIDList;
Path: array[0..MAX_PATH] ofChar;

begin GetMem(Result, MAX_PATH);
// pIDList에 매개변수로 받은 시스템 경로(=sPath)에 해당하는 포인터 지정
ifSHGetSpecialFolderLocation(0, sPATH, pIDList)=S_OK then begin
// pIDList에 있는 Path 경로를 FavPath 에 대입
SHGetPathFromIDList(pIDList, Path);
Result:=Path;
end;
end;




// 이런식으로 사용
procedureTForm1.Button1Click(Sender: TObject);
begin
ShowMessage(GetSpecialPath(CSIDL_FAVORITES)); // 즐겨찾기 경로 출력
end;

댓글 없음:

댓글 쓰기