천객만래 [千客萬來] (It has an interminable succession of visitors)

즐겨찾기 리스트를 리스트박스로 출력하기



uses 에 ShlObj 추가.


 


// 즐겨찾기를 TStrings 형태로 반환

function GetIEFavorites(const favpath: String): TStrings;

var

  Str: TStrings;

  SearchRec: TSearchRec;

  Path, Dir, FileName: String;

  Buffer: array [0..2047] of Char;

  Found: Integer;


 


begin

  Str:=TStringList.Create;


  // 일단 .URL 파일을 뒤지고

  Path:=FavPath+'\*.url';

  Dir:=ExtractFilePath(Path);

  Found:=FindFirst(Path, faAnyFile, SearchRec);

  while Found=0 do begin

    // Buffer 의 내용을 GetPrivateProfileString 길이만큼 FileName 으로 복사

    SetString(

      FileName,

      Buffer,

      // INI 형식의 파일에서 특정 Key 읽어오기

      // 즐겨찾기 파일인 .URL도 INI 형식으로 저장되어 있음.

      GetPrivateProfileString('InternetShortcut',  {대분류}

                              PChar('URL'),        {키 이름}

                              nil,                 {Default 값}

                              Buffer,              {내용을 복사할 버퍼}

                              SizeOf(Buffer),      {복사할 크기}

                              PChar(Dir+SearchRec.Name)) {읽어올 파일 경로}

      );

    Str.Add(FileName);

    Found:=FindNext(SearchRec);

  end;


 


  // 디렉토리일 경우엔 재귀 호출로 파고 들어감

  Found:=FindFirst(Dir+'\*.*', faAnyFile, SearchRec);

  while found=0 do begin

    if ((SearchRec.Attr and faDirectory)>0) and (SearchRec.Name[1]<>'.') then begin

      Str.AddStrings(GetIEFavorites(Dir+'\'+SearchRec.Name));

    end;

    Found:=FindNext(SearchRec);

  end;


 


  FindClose(SearchRec);

  Result:=Str;

end;


 


 


 


사용법은 이렇다.


이 함수로 굴리면 리스트박스에 URL만 자동으로 추가됨.


 


procedure TForm1.Button1Click(Sender: TObject);

var

  pIDList: PItemIDList;

  FavPath: Array [0..MAX_PATH] of Char;



begin

  // pIDList에 CSIDL_FAVORITES(즐겨찾기폴더)에 해당하는 포인터 지정

  if SHGetSpecialFolderLocation(Handle, CSIDL_FAVORITES, pIDList)=S_OK then begin

    // pIDList에 있는 Path 경로를 FavPath 에 대입

    if SHGetPathFromIDList(pIDList, FavPath) then begin

      //ShowMessage(FavPath);

      ListBox1.Items:=GetIEFavorites(StrPas(FavPath));

    end

    else ShowMessage('Error: SHGetPathFromIDList');

  end

  else ShowMessage('Error<>S_OK');

end;





Posted by SB패밀리

[개인] 인터넷 익스플로러의 즐기찾기 및 사이드바의 위치


인터넷 익스플로러의 즐겨찾기 위치는 왜 왼쪽에만 있을까?

오른쪽이나 하단에 있으면 안되는 걸까?

선택가능한 UX가 되면 좋겠다.

오른쪽에 있으니. 개인적으로는 불편하다.




Posted by SB패밀리

출처:  http://goodfree.tistory.com/11 
[IT/과학] 바탕화면을 D드라이브로 변경하기

보통 우리가 쓰는 컴퓨터에  내문서안에 저장을 하면 자동으로 D드라이브로 저장되게끔 내문서 위치를 바꿀 수 있습니다.
바탕화면과  즐겨찾기도 요즘 많은 데이터와 중요 사진 및 파일들을 저장하면서 쓰게 됩니다.
만약 포맷을 할 경우 바탕화면에 많은 중요 데이터를 저장하였다면  그때 그때마다 백업 시간이 많이 걸리게 됩니다.

그래서 바탕화면과 즐겨찾기도 내문서 같이 위치를 D드라이브나 다른 드라이브로 저장할수있게 위치를 바꿀수있습니다.
아래 순서대로 작업하면 변경이 됩니다.

[탐색기에서 변경 방법] <== Win 7

1. 탐색기를 실행합니다.

2. 탐색기의 바탕화면폴더에서 마우스 오른쪽 버튼을 클릭합니다.
3. 속성을 선택합니다.
4. 바로가기 탭에서 대상(T) 값인 경로를 변경하고 확인을 누릅니다.

 


[레지스트리 변경 방법]  <== Win XP


1 시작 -  실행을 클릭
2 REGEDIT 를 실행
3 레지스트리에서 HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer 로 이동
User Shell Folders 클릭해서 Desktop 값을 클릭하셔서 원하는 위치를 변경합니다.
5 재부팅한 후 바탕화면에 저장하면 원하는 위치에 저장이 됩니다

즐겨찾기도 가능합니다. Favorites 값을 수정하면 가능합니다.

내 문서 의 경우에는 OS에 관계없이 탐색기에서 팝업메뉴를 이용하여 수정할 수 있습니다.

[win xp]



 [win 7]


 

Posted by SB패밀리