2013년 1월 18일 금요일

특정 폴더 찾기


uses WinApi.Shlobj, ActiveX;

procedure TForm2.Button1Click(Sender: TObject);
var
  PIDL: PItemIDList;
  // Path: String;
  Path: PChar;
  Folder: integer;
  AMalloc: IMalloc;
begin
  Folder:= CSIDL_INTERNET_CACHE;
  // SetLength(Path,MAX_PATH);
  Path:= StrAlloc(Max_Path);
  SHGetSpecialFolderLocation(Application.Handle, Folder, PIDL);
  // if SHGetPathFromIDList(PIDL, pChar(Path)) then
  if SHGetPathFromIDList(PIDL, Path) then
    Edit1.Text:= Path;
  SHGetMalloc(AMalloc);
  StrDispose(Path);
end;

Path 변수를 String 과 PChar 2가지의 방법으로 구현하여 보았습니다.
당연 String 으로 할 경우에는 StrDispose 가 필요없습니다.

댓글 없음:

vscode 에서 파이썬 가상환경을 .venv 를 만들면 새로운 터미널을 생성하면 ((.venv) ) 로 표시된는 것 해결

 vscode 에서 파이썬 가상환경을 .venv 를 만들면 새로운 터미널을 생성하면 ((.venv) ) 로 표시 즉 /Volumes/jglee/AI&Python/lottoly45 % source .venv/bin/activate ((.venv)...