Bagikan melalui


Metode ShellLinkObject.Resolve

Mencari target tautan Shell, bahkan jika target telah dipindahkan atau diganti namanya.

Sintaks

iRetVal = ShellLinkObject.Resolve(
  fFlags
)

Parameter

fFlags [in]

Jenis: Bilangan bulat

Bendera yang menentukan tindakan yang akan diambil. Ini bisa menjadi kombinasi dari nilai berikut:

(1)

Jangan tampilkan kotak dialog jika tautan tidak dapat diatasi. Ketika bendera ini diatur, kata fFlags urutan tinggi menentukan durasi waktu habis, dalam milidetik. Metode mengembalikan jika tautan tidak dapat diselesaikan dalam durasi waktu habis. Jika kata urutan tinggi diatur ke nol, durasi waktu habis default ke 3000 milidetik (3 detik).

(4)

Jika tautan telah berubah, perbarui jalur dan daftar pengidentifikasinya.

(8)

Jangan perbarui informasi tautan.

(16)

Jangan jalankan heuristik pencarian.

(32)

Jangan gunakan pelacakan tautan terdistribusi.

(64)

Nonaktifkan pelacakan tautan terdistribusi. Secara default, pelacakan tautan terdistribusi melacak media yang dapat dilepas di beberapa perangkat berdasarkan nama volume. Ini juga menggunakan jalur UNC untuk melacak sistem file jarak jauh yang huruf kandarnya telah berubah. Mengatur bendera ini menonaktifkan kedua jenis pelacakan.

(128)

Panggil Pemasang Windows.

Keterangan

Metode ini pada dasarnya identik dalam fungsionalitas untuk Mengatasi. Untuk diskusi lebih lanjut tentang resolusi tautan, lihat bagian Keterangan di halaman tersebut.

Contoh

Contoh berikut menunjukkan penggunaan metode ini yang tepat untuk JScript, VBScript, dan 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

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows 2000 Professional dengan SP3 [hanya aplikasi desktop]
Server minimum yang didukung
Windows 2000 Server [hanya aplikasi desktop]
Header
Shldisp.h
IDL
Shldisp.idl
DLL
Shell32.dll (versi 5.0 atau yang lebih baru)