Metodo IStartMenuPinnedList::RemoveFromList (shobjidl.h)
Windows Vista: rimuove un elemento dall'elenco di menu Start aggiunto, ovvero l'elenco nella posizione superiore sinistra del menu Start .
Windows 7: rimuove un elemento dall'elenco di menu Start aggiunto e rimuove l'elemento dalla barra delle applicazioni.
Windows 8: rimuove l'elemento dalla barra delle applicazioni, ma non rimuove l'elemento dalla schermata Start. Gli elementi non possono essere rimossi a livello di codice da Start; possono essere rimossi solo dall'utente o rimossi come parte della disinstallazione di un programma.
Sintassi
HRESULT RemoveFromList(
[in] IShellItem *pitem
);
Parametri
[in] pitem
Tipo: IShellItem*
Puntatore a un oggetto IShellItem che rappresenta l'elemento da rimuovere.
Valore restituito
Tipo: HRESULT
- Restituisce S_OK se l'elemento è stato rimosso correttamente dall'elenco di elementi aggiunti e/o dalla barra delle applicazioni.
- Restituisce S_OK se l'elemento non è stato aggiunto.
- Restituisce un codice di errore standard in caso contrario.
Commenti
Poiché un'applicazione non può sapere se sono stati aggiunti collegamenti installati, questo metodo deve essere chiamato su qualsiasi collegamento dell'applicazione rimosso dal sistema. Sono inclusi i collegamenti posizionati sul desktop durante l'installazione e quelli aggiunti all'elenco Tutti i programmi del menu Start.
È consigliabile usare questo metodo per pulire gli elementi aggiunti durante il processo di disinstallazione. L'annullamento del collegamento all'applicazione non è obbligatorio, ma è fortemente consigliato per l'affidabilità.
Questo metodo non rimuove il collegamento originale rappresentato da pitem. Rimuove la relativa rappresentazione aggiunta dal menu Start e/o dalla barra delle applicazioni. Dopo aver rimosso un elemento (rimosso) tramite questo metodo, l'applicazione può eliminare il collegamento originale.
Se un elemento viene aggiunto sia al menu Start che alla barra delle applicazioni, una chiamata a questo metodo la rimuove da entrambe le posizioni.
Esempio
In questo esempio viene illustrato l'uso di IStartMenuPinnedList::RemoveFromList.
HRESULT hr = CoInitializeEx(NULL,COINIT_APARTMENTTHREADED);
if (SUCCEEDED(hr))
{
IShellItem *pitem;
hr = SHCreateItemFromParsingName(TEXT("Path to the shortcut"),
NULL,
IID_PPV_ARGS(&pitem));
//
// Do setup work here to remove the link, including the unpinning
// of the item.
//
if (SUCCEEDED(hr))
{
IStartMenuPinnedList *pStartMenuPinnedList;
hr = CoCreateInstance(CLSID_StartMenuPin,
NULL,
CLSCTX_INPROC_SERVER,
IID_PPV_ARGS(&pStartMenuPinnedList));
if (SUCCEEDED(hr))
{
hr = pStartMenuPinnedList->RemoveFromList(pitem);
pStartMenuPinnedList->Release();
}
pitem->Release();
}
}
CoUnitialize();
Requisiti
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | shobjidl.h |
DLL | Shell32.dll |