Metodo ShellLinkObject.Resolve
Cerca la destinazione di un collegamento shell, anche se la destinazione è stata spostata o rinominata.
Sintassi
iRetVal = ShellLinkObject.Resolve(
fFlags
)
Parametri
-
fFlags [in]
-
Tipo: Intero
Flag che specificano l'azione da eseguire. Questa può essere una combinazione dei valori seguenti:
-
(1)
-
Non visualizzare una finestra di dialogo se il collegamento non può essere risolto. Quando questo flag viene impostato, la parola ad ordine elevato di fFlags specifica una durata di timeout, in millisecondi. Il metodo restituisce se il collegamento non può essere risolto entro la durata del timeout. Se la parola con ordine elevato è impostata su zero, la durata del timeout viene impostata su 3000 millisecondi (3 secondi).
-
(4)
-
Se il collegamento è stato modificato, aggiornare il percorso e l'elenco di identificatori.
-
(8)
-
Non aggiornare le informazioni sul collegamento.
-
(16)
-
Non eseguire l'euristica della ricerca.
-
(32)
-
Non usare il rilevamento dei collegamenti distribuiti.
-
(64)
-
Disabilitare il rilevamento dei collegamenti distribuiti. Per impostazione predefinita, il rilevamento dei collegamenti distribuiti tiene traccia dei supporti rimovibili in più dispositivi in base al nome del volume. Usa anche il percorso UNC per tenere traccia dei file system remoti la cui lettera di unità è stata modificata. L'impostazione di questo flag disabilita entrambi i tipi di rilevamento.
-
(128)
-
Chiamare Windows Installer.
Commenti
Questo metodo è essenzialmente identico alla funzionalità Resolve. Per altre discussioni sulla risoluzione dei collegamenti, vedere la sezione Osservazioni di tale pagina.
Esempio
Nell'esempio seguente viene illustrato l'utilizzo appropriato di questo metodo per 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
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows 2000 Professional con SP3 [solo app desktop] |
Server minimo supportato |
Windows 2000 Server [solo app desktop] |
Intestazione |
|
IDL |
|
DLL |
|