Метод ShellLinkObject.Resolve
Ищет целевой объект ссылки оболочки, даже если целевой объект был перемещен или переименован.
Синтаксис
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 Профессиональная с пакетом обновления 3 (SP3) [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
|
IDL |
|
DLL |
|