Freigeben über


ShellLinkObject.Resolve-Methode

Sucht nach dem Ziel eines Shelllinks, auch wenn das Ziel verschoben oder umbenannt wurde.

Syntax

iRetVal = ShellLinkObject.Resolve(
  fFlags
)

Parameter

fFlags [in]

Typ: Integer

Flags, die die auszuführende Aktion angeben. Dies kann eine Kombination der folgenden Werte sein:

(1)

Kein Dialogfeld anzeigen, wenn der Link nicht aufgelöst werden kann. Wenn dieses Flag festgelegt ist, gibt das Wort mit hoher Ordnung von fFlags eine Timeoutdauer in Millisekunden an. Die -Methode gibt zurück, wenn der Link nicht innerhalb der Timeoutdauer aufgelöst werden kann. Wenn das Wort mit hoher Reihenfolge auf 0 (null) festgelegt ist, beträgt die Timeoutdauer standardmäßig 3.000 Millisekunden (3 Sekunden).

(4)

Wenn sich der Link geändert hat, aktualisieren Sie den Pfad und die Liste der Bezeichner.

(8)

Aktualisieren Sie die Linkinformationen nicht.

(16)

Führen Sie die Suchheuristik nicht aus.

(32)

Verwenden Sie keine Nachverfolgung verteilter Links.

(64)

Deaktivieren sie die Nachverfolgung verteilter Links. Standardmäßig verfolgt die Nachverfolgung von verteilten Links Wechselmedien auf mehreren Geräten basierend auf dem Volumenamen nach. Außerdem wird der UNC-Pfad verwendet, um Remotedateisysteme nachzuverfolgen, deren Laufwerkbuchstabe sich geändert hat. Durch das Festlegen dieses Flags werden beide Arten der Nachverfolgung deaktiviert.

(128)

Rufen Sie den Windows Installer auf.

Bemerkungen

Diese Methode ist in der Funktionalität im Wesentlichen identisch mit Resolve. Weitere Informationen zur Linkauflösung finden Sie im Abschnitt Hinweise auf dieser Seite.

Beispiele

Das folgende Beispiel zeigt die ordnungsgemäße Verwendung dieser Methode für JScript, VBScript und 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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 2000 Professional mit SP3 [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows 2000 Server [nur Desktop-Apps]
Header
Shldisp.h
IDL
Shldisp.idl
DLL
Shell32.dll (Version 5.0 oder höher)