Partager via


ShellLinkObject.Resolve, méthode

Recherche la cible d’un lien Shell, même si la cible a été déplacée ou renommée.

Syntaxe

iRetVal = ShellLinkObject.Resolve(
  fFlags
)

Paramètres

fFlags [in]

Type : Integer

Indicateurs qui spécifient l’action à entreprendre. Il peut s’agir d’une combinaison des valeurs suivantes :

(1)

N’affichez pas de boîte de dialogue si le lien ne peut pas être résolu. Lorsque cet indicateur est défini, le mot d’ordre élevé de fFlags spécifie une durée d’expiration, en millisecondes. La méthode retourne si le lien ne peut pas être résolu dans le délai d’expiration. Si le mot d’ordre élevé est défini sur zéro, la durée du délai d’attente par défaut est de 3 000 millisecondes (3 secondes).

(4)

Si le lien a changé, mettez à jour son chemin d’accès et sa liste d’identificateurs.

(8)

Ne mettez pas à jour les informations de lien.

(16)

N’exécutez pas l’heuristique de recherche.

(32)

N’utilisez pas le suivi des liens distribués.

(64)

Désactivez le suivi des liens distribués. Par défaut, le suivi des liens distribués effectue le suivi des médias amovibles sur plusieurs appareils en fonction du nom du volume. Il utilise également le chemin UNC pour suivre les systèmes de fichiers distants dont la lettre de lecteur a été modifiée. La définition de cet indicateur désactive les deux types de suivi.

(128)

Appelez le programme d’installation Windows.

Notes

Cette méthode est essentiellement identique en termes de fonctionnalité à Resolve. Pour plus d’informations sur la résolution des liens, consultez la section Remarques de cette page.

Exemples

L’exemple suivant montre l’utilisation appropriée de cette méthode pour JScript, VBScript et 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

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows 2000 Professionnel avec SP3 [applications de bureau uniquement]
Serveur minimal pris en charge
Windows 2000 Server [applications de bureau uniquement]
En-tête
Shldisp.h
IDL
Shldisp.idl
DLL
Shell32.dll (version 5.0 ou ultérieure)