Bagikan melalui


IStartMenuPinnedList::RemoveFromList method (shobjidl.h)

Windows Vista: Menghapus item dari daftar menu Mulai yang disematkan, yang merupakan daftar di posisi kiri atas menu Mulai .

Windows 7: Menghapus item dari daftar menu Mulai yang disematkan dan melepaskan item dari taskbar.

Windows 8: Melepaskan item dari taskbar tetapi tidak menghapus item dari layar Mulai. Item tidak dapat dihapus secara terprogram dari Mulai; mereka hanya dapat dilepaskan oleh pengguna atau dihapus sebagai bagian dari penghapusan instalasi program.

Sintaks

HRESULT RemoveFromList(
  [in] IShellItem *pitem
);

Parameter

[in] pitem

Jenis: IShellItem*

Penunjuk ke objek IShellItem yang mewakili item yang akan dilepas.

Menampilkan nilai

Jenis: HRESULT

  • Mengembalikan S_OK jika item berhasil dihapus dari daftar item yang disematkan dan/atau bilah tugas.
  • Mengembalikan S_OK jika item tidak disematkan sama sekali.
  • Mengembalikan kode kesalahan standar jika tidak.

Keterangan

Karena aplikasi tidak dapat mengetahui apakah salah satu pintasan yang diinstal telah disematkan, metode ini harus dipanggil pada pintasan aplikasi apa pun yang dihapus dari sistem. Ini termasuk pintasan yang ditempatkan pada desktop selama penginstalan dan yang ditambahkan ke daftar Semua Program menu Mulai.

Disarankan agar semua aplikasi menggunakan metode ini untuk membersihkan item yang disematkan selama proses penghapusan instalasinya. Melepas pintas aplikasi tidak diperlukan, tetapi sangat disarankan untuk keandalan.

Metode ini tidak menghapus pintasan asli yang diwakili oleh pitem. Ini menghapus representasi yang disematkan dari menu Mulai dan/atau taskbar. Setelah item dihapus (tidak disematkan) melalui metode ini, aplikasi dapat menghapus pintasan asli.

Jika item disematkan ke menu Mulai dan bilah tugas, satu panggilan ke metode ini akan menghapusnya dari kedua lokasi.

Catatan Jika aplikasi Anda menggunakan kerangka kerja Windows Installer (MSI) untuk melakukan penghapusan instalasi, Anda tidak perlu memanggil metode ini secara eksplisit; MSI akan melakukan panggilan untuk melepas pintas untuk Anda.
 

Contoh

Contoh ini menunjukkan penggunaan 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();

Persyaratan

   
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header shobjidl.h
DLL Shell32.dll