본문 바로가기

유물/SodExplorer

Sod Explorer

탐색기 구현 프로그램이다. 여기저기서 구해볼 수 있는 탐색기구현 소스들은 대부분 파일뷰 부분을 직접 리스트뷰컨트롤로 구현해놓은 것들이었다. Sod Explorer는 IShellView 인터페이스를 얻어와 사용한다. MS SDK의 예제를 기초로 수많은 구글링을 통해 개발해왔고 엄청난 삽질의 시간으로 쉘과 COM에 대해, 또 관련 인터페이스들에 대해 많이 배울 수 있었다. 실제 탐색기를 대체해 사용하기에는 당연히 부족하고, 간단하면서 꼭 필요한(내 입장으로서) 것들만은 구현시키고자 했는데 여기저기 한계에 다다른다.

이것은 standalone 어플로서 구현된 것이지만 최종목표는 데스크밴드에 사용되기 위함이다.
MFC나 ATL 사용없이 Windows API와 Shell 관련 COM 인터페이스들로만 작성되었다.

미구현 부분
  • 메뉴와 툴바
    • IShellBrowser에 관련 메서드들이 있는데 이것들 역시 구현하지 않았다.
  • IDropTargetHelper
    • 밑에 영상을 보면 알겠지만, 파일을 트리노드로 드래그시 파일 아이콘이 표시되지 않는다. IDropTargetHelper 구현시 선택된 트리노드에 하이라이트되지 않는 문제가 있어 일단 제외시켰다.
  • 폴더 히스토리
    • 탐색한 폴더들을 아직 기억하고 있지 못한다. 즉 파일뷰안에서 백스페이스 미지원
    • 무조건 구현해야할 부분이다!
  • 폴더 팝업메뉴
    • 이름변경과 삭제관련 미구현

구현시 특이사항
  • 파일리스트뷰에서 기본으로 팝업메뉴 띄울시 탐색기의 그것과 조금 다른 부분
    • IContextMenu 구현으로 해결
  • 팝업메뉴에 몇몇 안되는 메뉴 발생(무엇이었는지 기억 안남)
    • IContextMenu 구현으로 해결
  • '내 문서'나 zip 파일 실행시(더블클릭시) 열리지 않는 점
    • IShellBrowser::OnDefaultCommand 구현으로 해결
그 외 몇 인터페이스와 메서드들의 사용과 관련해 아직 모르는 부분도 많고, 구현 중 이슈거리도 많았지만 당장 기억도 안나고 일단은 여기까지만 적겠다.

sodexplorer


'유물 > SodExplorer' 카테고리의 다른 글

SodExplorer v0.9b  (0) 2010.05.02