Méthode IStartMenuPinnedList::RemoveFromList (shobjidl.h)
Windows Vista : supprime un élément de la liste épinglée du menu Démarrer , qui est la liste située en haut à gauche du menu Démarrer .
Windows 7 : supprime un élément de la liste épinglée du menu Démarrer et désépingler l’élément de la barre des tâches.
Windows 8 : désépingler l’élément de la barre des tâches, mais ne le supprime pas de l’écran d’accueil. Les éléments ne peuvent pas être supprimés par programmation de l’accueil ; Ils ne peuvent être épinglé que par l’utilisateur ou supprimés dans le cadre de la désinstallation d’un programme.
Syntaxe
HRESULT RemoveFromList(
[in] IShellItem *pitem
);
Paramètres
[in] pitem
Type : IShellItem*
Pointeur vers un objet IShellItem qui représente l’élément à désépingler.
Valeur retournée
Type : HRESULT
- Retourne S_OK si l’élément a été supprimé de la liste des éléments épinglés et/ou de la barre des tâches.
- Retourne S_OK si l’élément n’a pas été épinglé du tout.
- Retourne un code d’erreur standard dans le cas contraire.
Remarques
Étant donné qu’une application ne peut pas savoir si l’un de ses raccourcis installés a été épinglé, cette méthode doit être appelée sur tout raccourci d’application supprimé du système. Cela inclut les raccourcis placés sur le bureau pendant l’installation et ceux ajoutés à la liste Tous les programmes du menu Démarrer.
Il est recommandé que toutes les applications utilisent cette méthode pour propre leurs éléments épinglés pendant leur processus de désinstallation. L’épinglage du raccourci d’application n’est pas nécessaire, mais il est fortement recommandé pour la fiabilité.
Cette méthode ne supprime pas le raccourci d’origine représenté par pitem. Il supprime sa représentation épinglée du menu Démarrer et/ou de la barre des tâches. Une fois qu’un élément a été supprimé (non épinglé) via cette méthode, l’application peut supprimer le raccourci d’origine.
Si un élément est épinglé à la fois au menu Démarrer et à la barre des tâches, un appel à cette méthode le supprime des deux emplacements.
Exemples
Cet exemple illustre l’utilisation de 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();
Configuration requise
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | shobjidl.h |
DLL | Shell32.dll |