ShellLinkObject.Resolve 方法
查找 Shell 链接的目标,即使目标已移动或重命名。
iRetVal = ShellLinkObject.Resolve(
fFlags
)
-
fFlags [in]
-
类型: 整数
指定要执行的操作的标志。 这可以是以下值的组合:
-
(1)
-
如果无法解析链接,则不显示对话框。 设置此标志后, fFlags 的高序字将指定超时持续时间(以毫秒为单位)。 如果在超时持续时间内无法解析链接,则方法将返回 。 如果高序字设置为零,则超时持续时间默认为 3000 毫秒 (3 秒) 。
-
(4)
-
如果链接已更改,请更新其路径和标识符列表。
-
(8)
-
不要更新链接信息。
-
(16)
-
不要执行搜索启发。
-
(32)
-
请勿使用分布式链接跟踪。
-
(64)
-
禁用分布式链接跟踪。 默认情况下,分布式链接跟踪基于卷名称跨多个设备跟踪可移动媒体。 它还使用 UNC 路径跟踪其驱动器号已更改的远程文件系统。 设置此标志会禁用这两种类型的跟踪。
-
(128)
-
调用 Windows 安装程序。
此方法在功能上与 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 |
|