ShellLinkObject.Resolve 方法
即使目標已移動或重新命名,仍會尋找 Shell 連結的目標。
語法
iRetVal = ShellLinkObject.Resolve(
fFlags
)
參數
-
fFlags [in]
-
類型: 整數
指定要採取的動作的旗標。 這可以是下列值的組合:
-
(1)
-
如果無法解析連結,請勿顯示對話方塊。 設定此旗標時, fFlags 的高序字會以毫秒為單位指定逾時持續時間。 如果無法在逾時期間內解析連結,方法會傳回 。 如果高序字設為零,逾時持續時間預設為 3000 毫秒, (3 秒) 。
-
(4)
-
如果連結已變更,請更新其路徑和識別碼清單。
-
(8)
-
請勿更新連結資訊。
-
(16)
-
請勿執行搜尋啟發學習法。
-
(32)
-
請勿使用分散式連結追蹤。
-
(64)
-
停用分散式連結追蹤。 根據預設,分散式連結追蹤會根據磁片區名稱,追蹤跨多個裝置的抽取式媒體。 它也會使用 UNC 路徑來追蹤已變更磁碟機號的遠端檔案系統。 設定此旗標會停用這兩種類型的追蹤。
-
(128)
-
呼叫 Windows Installer。
備註
這個方法基本上與 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 專業版 SP3 [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows 2000 Server [僅限傳統型應用程式] |
標頭 |
|
Idl |
|
DLL |
|