C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[22235] Re:감사합니다.-한가지 더 질문할께요...
새더군 [mmouse] 1186 읽음    2002-10-25 10:01
에고 질문을 너무 늦게 봤군요..

질문하신 그 내용은 쉽게 API 한줄로 끝나는게 아니랍니다 ㅠ.ㅜ..
네트워크환경에 대한 폴더의 인터페이스를 얻어온후 그 폴더에서 Enum 오브젝트를 생성해
그걸 돌리면서 아이템을 뽑아오는거랍니다.

간단한 예제를 올려 드립니다.
그럼 좋은 하루 되세요..

    IShellFolder *    pFolder = NULL;
    IShellFolder *    pDesktopFolder = NULL;
    IEnumIDList *    pEnum    = NULL;
    LPITEMIDLIST    pIdlist = NULL;
    LPITEMIDLIST    pItem    = NULL;
    STRRET            strret;
    char buffer[MAX_PATH];

    SHGetSpecialFolderLocation(NULL, CSIDL_NETWORK, &pIdlist);
    SHGetDesktopFolder(&pDesktopFolder);
    pDesktopFolder->BindToObject(pIdlist, 0, IID_IShellFolder, (void **)&pFolder);
    pFolder->EnumObjects(NULL, SHCONTF_FOLDERS | SHCONTF_NONFOLDERS, &pEnum);

    ULONG ulFetched = 0;
    while(pEnum->Next(1, &pItem, &ulFetched) == NOERROR)
    {
        pFolder->GetDisplayNameOf(pItem, 0, &strret);
        StrRetToBuf(&strret, pItem, buffer, MAX_PATH);
        OutputDebugString(buffer);
        OutputDebugString("\r\n");
    }

    return 0;


정명기 님이 쓰신 글 :
: 가르쳐 주신 것 무지 많이 억수로 도움이 되었습니다... ^0^
: 한가지 더 질문을 드릴께요..
: WNetAddConnectDlg 던가? 그걸로 하면 간단히 되더군요...
: 그런데.. 그런 Dialog 형태가 아닌 남는 드라이브는 제가 알아서 찾아서 리스트박스로 선택을 하게 하고 네트워크 경로를 입력 받는데... 네트워크 경로는 네트워크 경로 탐색기를 하나 띄워서 찾아서 클릭하면 그 경로가 네트워크경로입력하는 에디트 박스로 들어가게 할려고 합니다.  그런데 그 네트워크 경로 탐색기를 찾을 수가 없네요... API가 워낙 방대해서염.. ^^;;
:
: 죄송하지만 아시면 좀 가르쳐 주시겠습니까?
:
: 그럼 이만.
:
:
: 새더군 님이 쓰신 글 :
: : NETRESOURCE 라는 구조체를 인자로 받는
: : WNetAddConnection2 를 사용하시면 됩니다.
: :
: : 예)
: : NETRESOURCE nr;
: :
: : nr.dwType = RESOURCETYPE_ANY;
: : nr.lpLocalName = "Z:";
: : nr.lpRemoteName = "\\\\mmouse\\document";
: : nr.lpProvider  = NULL;
: :
: : WNetAddConnection2(&nr, "passwd", "userid", CONNECT_INTERACTIVE);
: :
: : 참고로 NETRESOURCE 에 있는 나머지 데이터들은 WNetAddConnection2 에서는
: : 무시됩니다.
: :
: : 그럼 좋은 하루 되세요.
: :
: :
: : 정명기 님이 쓰신 글 :
: : : 안녕하세요?
: : :
: : : 프로그램 상에서 네트워크상의 공유된 자원을 찾아서 현재 클라이언트상에 쓰이지 않는 드라이브와 맵핑시키는 것을 찾고 있습니다. API를 뒤져보아도 잘 안찾아지네요.. 쩝쩝..
: : : 또하나, 예를 들어 \\myserver\document를 M: 으로 맵핑시킨게 이미 있다면 M:를 입력시에 거꾸로 \\myserver\document 로 풀어주는 것도 찾고 있습니다.  쩝.. 이것도 제 능력밖에 있는건지 찾을 수가 없네요.. 여러분들 좀 찾아주세요..
: : :
: : : 그럼 이만.

+ -

관련 글 리스트
22183 [질문] 네트워크드라이브 맵핑을 하려면? 정명기 831 2002/10/22
22190     Re:[질문] 네트워크드라이브 맵핑을 하려면? 새더군 1266 2002/10/23
22201         감사합니다.-한가지 더 질문할께요... 정명기 1180 2002/10/24
22235             Re:감사합니다.-한가지 더 질문할께요... 새더군 1186 2002/10/25
22250                 Re:Re:감사합니다.-한가지 더 질문할께요... 정명기 833 2002/10/25
22253                     Re:Re:Re:감사합니다.-한가지 더 질문할께요... 새더군 869 2002/10/25
22257                         감사합니다..... 근데... 정명기 755 2002/10/25
22261                             Re:감사합니다..... 근데... 새더군 844 2002/10/25
22270                                 Re:Re:감사합니다..... 근데... 정명기 840 2002/10/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.