Как предотвратить закрепление приложения в Windows 7?

Я пытаюсь запретить пользователю закреплять мое .NET-приложение на панели задач. Я нашел код на Old New Thing , который делает именно это. Однако он написан на C ++.

#include 
#include 
#include 

HRESULT MarkWindowAsUnpinnable(HWND hwnd)
{
 IPropertyStore *pps;
 HRESULT hr = SHGetPropertyStoreForWindow(hwnd, IID_PPV_ARGS(&pps));
 if (SUCCEEDED(hr)) {
  PROPVARIANT var;
  var.vt = VT_BOOL;
  var.boolVal = VARIANT_TRUE;
  hr = pps->SetValue(PKEY_AppUserModel_PreventPinning, var);
  pps->Release();
 }
 return hr;
}


BOOL
OnCreate(HWND hwnd, LPCREATESTRUCT lpcs)
{
 MarkWindowAsUnpinnable(hwnd);
 return TRUE;
}

Мне очень мало повезло с преобразованием его в C #. Может кто-нибудь помочь?

5
задан AngryHacker 16 June 2011 в 20:20
поделиться