2017-09-28 16 views
0

C++에서 실행 파일에 대한 바로 가기 링크를 만듭니다. 잘 작동하지만 exetuable 폴더가 경로를 변경하면 링크가 더 이상 작동하지 않습니다. (누락 된 파일에 대한 고전적인 검색이 수동으로 나타납니다).C++ shorcut.lnk 파일이 없으면 경로를 업데이트하십시오.

실행 파일을 경로로 드래그하여 링크를 만든 다음 폴더 경로를 변경하려는 경우 실행 파일을 찾아서 수동 검색이나 아무 것도하지 않고 바로 가기 링크의 경로를 업데이트합니다. 이렇게.

어떻게 C++에서 그렇게 할 수 있습니까? 나는 인수를 사용하여 시도했지만 인수는 명령 프롬프트에서 사용하기위한 것일 뿐이며 바로 가기 링크를 실행하여 링크를 업데이트하지 않습니다. 여기

내가 C에서 그것을 어떻게했는지에 대한 링크입니다 ++ 는 How to programmatically create a shortcut using Win32

+1

그래서 답변은 [MSDN 기사] (https://msdn.microsoft.com/en-us/library/bb776891(VS.85).aspx)에서 복사/붙여 넣기입니다. 대신 ResolveIt 샘플 코드를 사용하십시오. –

+0

"응용 프로그램에서 이전에 생성 된 바로 가기에 액세스하여 조작해야 할 수 있습니다.이 작업은 바로 가기를 해결하는 것으로 간주됩니다."바로 그 것이고 바로 가기가 없으므로이 자체가 shorcut를 업데이트하는지 확인하지 않았습니다. 응용 프로그램 자체. 그것은 일을 할 것인가 아니면 단지 시간 낭비 일까? 그게 전부 allready 누가 그 일을하고 누가 무엇을 해야할지 잘 알고있는 사람을 위해 여기 물어 이유 ... – Vas

+1

귀하의 질문에 암시 된 가정은 어떻게 든 당신이 어떻게 링크 대상에 일어난 일을 알고 있으므로 Path 속성을 업데이트 할 수 있습니다. 당신이 어떻게 알 수 있겠습니까? 그렇다면 그것은 정말로 시간 낭비입니다. –

답변

0

쉘은 단순히 IShellLink::Resolve 방법을 사용합니다.

Resolve은 .lnk에 저장된 정보를 사용하여 이동 된 대상을 찾습니다. 정보에는 작성 날짜/수정 날짜, 크기 및 파일 속성이 포함됩니다. 분산 링크 추적 서비스는 실행중인 경우에도 도움을 줄 수 있습니다.

Windows 95와 Windows NT에 대한 자세한 내용은 this Windows Confidential article을, LTS에 대한 내용은 this KB articlethis web page을 참조하십시오.

+0

시도했지만 잘 작동하지는 않지만 다시 시도 할 것입니다. 한번 더 maby 시도해 보겠습니다. 이번에는 작동합니다. Anders에게 감사드립니다. – Vas