Método ShellLinkObject.Resolve
Procura o destino de um link do Shell, mesmo que o destino tenha sido movido ou renomeado.
Sintaxe
iRetVal = ShellLinkObject.Resolve(
fFlags
)
Parâmetros
-
fFlags [in]
-
Tipo: inteiro
Sinalizadores que especificam a ação a ser executada. Isso pode ser uma combinação dos seguintes valores:
-
(1)
-
Não exiba uma caixa de diálogo se o link não puder ser resolvido. Quando esse sinalizador é definido, a palavra de alta ordem de fFlags especifica uma duração de tempo limite, em milissegundos. O método retornará se o link não puder ser resolvido dentro da duração do tempo limite. Se a palavra de alta ordem for definida como zero, a duração do tempo limite será padronizada para 3000 milissegundos (3 segundos).
-
(4)
-
Se o link tiver sido alterado, atualize o caminho e a lista de identificadores.
-
(8)
-
Não atualize as informações do link.
-
(16)
-
Não execute a heurística de pesquisa.
-
(32)
-
Não use o acompanhamento de link distribuído.
-
(64)
-
Desabilitar o acompanhamento de link distribuído. Por padrão, o rastreamento de link distribuído rastreia a mídia removível em vários dispositivos com base no nome do volume. Ele também usa o caminho UNC para rastrear sistemas de arquivos remotos cuja letra da unidade foi alterada. Definir esse sinalizador desabilita os dois tipos de acompanhamento.
-
(128)
-
Chame o Windows Installer.
Comentários
Esse método é essencialmente idêntico na funcionalidade para Resolver. Para obter mais discussões sobre a resolução de link, consulte a seção Comentários dessa página.
Exemplos
O exemplo a seguir mostra o uso adequado desse método para JScript, VBScript e 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
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows 2000 Professional com SP3 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte |
Windows 2000 Server [somente aplicativos da área de trabalho] |
Cabeçalho |
|
IDL |
|
DLL |
|