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으로 표시되는 원래 바로 가기를 제거하지 않습니다. 시작 메뉴 및/또는 작업 표시줄에서 고정된 표현을 제거합니다. 이 메서드를 통해 항목이 제거(고정 해제)되면 애플리케이션에서 원래 바로 가기를 삭제할 수 있습니다.
항목이 시작 메뉴와 작업 표시줄 모두에 고정된 경우 이 메서드를 한 번 호출하면 두 위치에서 모두 항목이 제거됩니다.
예제
이 예제에서는 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 |