Share via


IStartMenuPinnedList::RemoveFromList 메서드(shobjidl.h)

Windows Vista: 시작 메뉴의 왼쪽 위 위치에 있는 목록인 시작 메뉴 고정 목록에서 항목을 제거합니다.

Windows 7: 시작 메뉴 고정 목록에서 항목을 제거하고 작업 표시줄에서 항목을 고정 해제합니다.

Windows 8: 작업 표시줄에서 항목을 고정 해제하지만 시작 화면에서 항목을 제거하지는 않습니다. 시작에서 항목을 프로그래밍 방식으로 제거할 수 없습니다. 사용자가 고정을 해제하거나 프로그램 제거의 일부로 제거할 수 있습니다.

구문

HRESULT RemoveFromList(
  [in] IShellItem *pitem
);

매개 변수

[in] pitem

형식: IShellItem*

고정 해제할 항목을 나타내는 IShellItem 개체에 대한 포인터입니다.

반환 값

형식: HRESULT

  • 고정된 항목 및/또는 작업 표시줄 목록에서 항목이 성공적으로 제거된 경우 S_OK 반환합니다.
  • 항목이 고정되지 않은 경우 S_OK 반환합니다.
  • 그렇지 않으면 표준 오류 코드를 반환합니다.

설명

애플리케이션이 설치된 바로 가기 중 하나라도 고정되었는지 알 수 없으므로 시스템에서 제거되는 모든 애플리케이션 바로 가기에서 이 메서드를 호출해야 합니다. 여기에는 설치하는 동안 바탕 화면에 배치된 바로 가기와 시작 메뉴의 모든 프로그램 목록에 추가된 바로 가기가 포함됩니다.

모든 애플리케이션은 제거 프로세스 중에 고정된 항목을 클린 위해 이 메서드를 사용하는 것이 좋습니다. 애플리케이션 바로 가기를 고정 해제할 필요는 없지만 안정성을 위해 권장됩니다.

이 메서드는 pitem으로 표시되는 원래 바로 가기를 제거하지 않습니다. 시작 메뉴 및/또는 작업 표시줄에서 고정된 표현을 제거합니다. 이 메서드를 통해 항목이 제거(고정 해제)되면 애플리케이션에서 원래 바로 가기를 삭제할 수 있습니다.

항목이 시작 메뉴와 작업 표시줄 모두에 고정된 경우 이 메서드를 한 번 호출하면 두 위치에서 모두 항목이 제거됩니다.

참고 애플리케이션이 MSI(Windows Installer) 프레임워크를 사용하여 제거를 수행하는 경우 이 메서드를 명시적으로 호출할 필요가 없습니다. MSI는 바로 가기를 고정 해제하기 위해 호출합니다.
 

예제

이 예제에서는 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();

요구 사항

   
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 shobjidl.h
DLL Shell32.dll