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
[50965] Re:Re:바로가기(.LNK) 파일의 연결상태 확인(깨진파일 여부확인)
ugotme [] 1305 읽음    2007-10-22 00:07
제가 뒤늦게 확인하는 바람에 늦게 답변 다네요.
너무나도 정성스런 답변 너무나 감사합니다.
담에 기회가 되면 꼭 이 감사함을 되갚고 싶습니다. 행복하세요^^;

장성호 님이 쓰신 글 :
: 아래 링크된 페이지를 보고 간단히 코딩해 봤습니다.
:
: http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=438
: http://blog.naver.com/shin5341/80036285583
:
:
: void __fastcall TForm1::Button2Click(TObject *Sender)
: {
:     if(OpenDialog1->Execute())
:     {
:         Edit1->Text=OpenDialog1->FileName;
:         if(CheckLinkFile(OpenDialog1->FileName))ShowMessage("바로가기 파일 있음");
:         else ShowMessage("바로가기 파일 없음");
:     }
: }
: //---------------------------------------------------------------------------
: #define FVSHOWINFO xxFVSHOWINFOxx
: #define FOLDERSETTINGS xxFOLDERSETTINGSxx
: #define DESKBANDINFO xxDESKBANDINFOxx
: #define SHELLFLAGSTATE xxSHELLFLAGSTATExx
: #include <shlobj.h>
: bool __fastcall TForm1::CheckLinkFile(String sLinkFName)
: {
:     HRESULT hres;
:     IShellLink *pLink;
:     char szGotPath[MAX_PATH];
:     WIN32_FIND_DATA wfd;
:
:     bool bResult=false;
:     hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (void **) &pLink);
:     if(SUCCEEDED(hres))
:     {
:         IPersistFile* pPersistFile;
:         hres=pLink->QueryInterface(IID_IPersistFile, (void **) &pPersistFile);
:         if(SUCCEEDED(hres))
:         {
:             WideString wsLinkFName(sLinkFName);
:             if(SUCCEEDED(pPersistFile->Load(wsLinkFName.c_bstr(),STGM_READ)))
:             {
:                 if(SUCCEEDED(pLink->Resolve(Handle,0)))
:                 {
:                     pLink->GetPath(szGotPath,MAX_PATH,(WIN32_FIND_DATA *)&wfd,2);
:                     ShowMessage(szGotPath);
:                     if(FileExists(szGotPath))bResult=true;
:                 }
:             }
:         }
:         pPersistFile->Release();
:     }
:     pLink->Release();
:     return bResult;
: }
: //---------------------------------------------------------------------------
:
: 그럼....
:
:
:
: ugotme 님이 쓰신 글 :
: : 바로가기(.LNK) 파일의 연결상태 확인(깨진파일 여부확인)
: :
: :  a.LNK 라는 바로가기 파일의 해당 경로가 실제로 존재하는 파일인지,
: :  아니면 원본파일이 존재하지 않는지 확인하는 방법이 있을까요?
: :
: :  제가 이걸 구현해야 하는데 어려움을 겪고 있어서,
: :  정말 어렵네요ㅡㅡ;;;

+ -

관련 글 리스트
50414 바로가기(.LNK) 파일의 연결상태 확인(깨진파일 여부확인) ugotme 1830 2007/08/30
50415     Re:바로가기(.LNK) 파일의 연결상태 확인(깨진파일 여부확인) 장성호 1930 2007/08/30
50965         Re:Re:바로가기(.LNK) 파일의 연결상태 확인(깨진파일 여부확인) ugotme 1305 2007/10/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.