Compartilhar via


Método ShellLinkObject.Resolve

Procura o destino de um link do Shell, mesmo que o destino tenha sido movido ou renomeado.

Sintaxe

iRetVal = ShellLinkObject.Resolve(
  fFlags
)

Parâmetros

fFlags [in]

Tipo: inteiro

Sinalizadores que especificam a ação a ser executada. Isso pode ser uma combinação dos seguintes valores:

(1)

Não exiba uma caixa de diálogo se o link não puder ser resolvido. Quando esse sinalizador é definido, a palavra de alta ordem de fFlags especifica uma duração de tempo limite, em milissegundos. O método retornará se o link não puder ser resolvido dentro da duração do tempo limite. Se a palavra de alta ordem for definida como zero, a duração do tempo limite será padronizada para 3000 milissegundos (3 segundos).

(4)

Se o link tiver sido alterado, atualize o caminho e a lista de identificadores.

(8)

Não atualize as informações do link.

(16)

Não execute a heurística de pesquisa.

(32)

Não use o acompanhamento de link distribuído.

(64)

Desabilitar o acompanhamento de link distribuído. Por padrão, o rastreamento de link distribuído rastreia a mídia removível em vários dispositivos com base no nome do volume. Ele também usa o caminho UNC para rastrear sistemas de arquivos remotos cuja letra da unidade foi alterada. Definir esse sinalizador desabilita os dois tipos de acompanhamento.

(128)

Chame o Windows Installer.

Comentários

Esse método é essencialmente idêntico na funcionalidade para Resolver. Para obter mais discussões sobre a resolução de link, consulte a seção Comentários dessa página.

Exemplos

O exemplo a seguir mostra o uso adequado desse método para JScript, VBScript e 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

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows 2000 Professional com SP3 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho
Shldisp.h
IDL
Shldisp.idl
DLL
Shell32.dll (versão 5.0 ou posterior)