다음을 통해 공유


ShellLinkObject.Resolve 메서드

대상을 이동하거나 이름을 바꾼 경우에도 셸 링크의 대상을 찾습니다.

구문

iRetVal = ShellLinkObject.Resolve(
  fFlags
)

매개 변수

fFlags [in]

형식: 정수

수행할 작업을 지정하는 플래그입니다. 다음 값의 조합일 수 있습니다.

(1)

링크를 확인할 수 없는 경우 대화 상자를 표시하지 마세요. 이 플래그가 설정되면 fFlags 의 상위 단어는 시간 제한 기간을 밀리초 단위로 지정합니다. 메서드는 시간 제한 기간 내에 링크를 확인할 수 없는 경우 를 반환합니다. 높은 순서의 단어가 0으로 설정된 경우 제한 시간은 기본적으로 3,000밀리초(3초)입니다.

(4)

링크가 변경된 경우 해당 경로 및 식별자 목록을 업데이트합니다.

(8)

링크 정보를 업데이트하지 마세요.

(16)

검색 추론을 실행하지 마세요.

(32)

분산 링크 추적을 사용하지 마세요.

(64)

분산 링크 추적을 사용하지 않도록 설정합니다. 기본적으로 분산 링크 추적은 볼륨 이름을 기반으로 여러 디바이스에서 이동식 미디어를 추적합니다. 또한 UNC 경로를 사용하여 드라이브 문자가 변경된 원격 파일 시스템을 추적합니다. 이 플래그를 설정하면 두 가지 유형의 추적이 모두 비활성화됩니다.

(128)

Windows 설치 관리자를 호출합니다.

설명

이 메서드는 기본적으로 Resolve 기능에서 동일합니다. 링크 확인에 대한 자세한 내용은 해당 페이지의 설명 섹션을 참조하세요.

예제

다음 예제에서는 JScript, VBScript 및 Visual Basic에 이 메서드를 적절하게 사용하는 방법을 보여 줍니다.

Jscript:

<script language="JScript">
    function fnShellLinkObjectResolveJ()
    {
        var objShell = new ActiveXObject("shell.application");
        var objFolder;
        var ssfPROGRAMS = 2;
        
        objFolder = objShell.NameSpace(ssfPROGRAMS);
        if (objFolder != null)
        {
            var objFolderItem;
            
            objFolderItem = objFolder.ParseName("Internet Explorer.lnk");
            if (objFolderItem != null)
            {
                var objShellLink;
                
                objShellLink = objFolderItem.GetLink;
                if (objShellLink != null)
                {
                    objShellLink.Resolve(1);
                }
            }
        }
    }
</script>

Vbscript:

<script language="VBScript">
    function fnShellLinkObjectResolveVB()
        dim objShell
        dim objFolder
        dim ssfPROGRAMS
        
        ssfPROGRAMS = 2
        set objShell = CreateObject("shell.application")
        set objFolder = objShell.NameSpace(ssfPROGRAMS)
            if (not objFolder is nothing) then
                dim objFolderItem
                
                set objFolderItem = objFolder.ParseName("Internet Explorer.lnk")
                    if (not objFolderItem is nothing) then
                        dim objShellLink
                        
                        set objShellLink = objFolderItem.GetLink
                            if (not objShellLink is nothing) then
                                objShellLink.Resolve(1)
                            end if
                        set objShellLink = nothing
                    end if
                set objFolderItem = nothing
            end if
        set objFolder = nothing
        set objShell = nothing
    end function
 </script>

Visual Basic:

Private Sub fnShellLinkObjectResolveVB()
    Dim objShell  As Shell
    Dim objFolder As Folder
    
    Set objShell = New Shell
    Set objFolder = objShell.NameSpace(ssfPROGRAMS)
        If (Not objFolder Is Nothing) Then
            Dim objFolderItem As FolderItem
            
            Set objFolderItem = objFolder.ParseName("Internet Explorer.lnk")
                If (Not objFolderItem Is Nothing) Then
                    Dim objShellLink As ShellLinkObject
                    
                    Set objShellLink = objFolderItem.GetLink
                        If (Not objShellLink Is Nothing) Then
                            objShellLink.Resolve (1)
                        End If
                    Set objShellLink = Nothing
                End If
            Set objFolderItem = Nothing
        End If
    Set objFolder = Nothing
    Set objShell = Nothing
End Sub

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows 2000 Professional SP3 [데스크톱 앱만 해당]
지원되는 최소 서버
Windows 2000 Server[데스크톱 앱만]
헤더
Shldisp.h
IDL
Shldisp.idl
DLL
Shell32.dll(버전 5.0 이상)