Como han estado por aquí? Espero que bien. Bueno pues ese es mi problema, estoy intentando crear mis propias jumplist con funciones específicas como las de WMP12 y aunque ya logre armar un grupo de funciones que me hace esto y todas compilan y trabajan sin errores, ps simplemente no me crean las jumplist, así que quisiera que me indicaran en donde esta mi error o como hacer una.
Estoy trabajando con c++ builder 2010, y obviamente Windows 7, de antemano gracias.
Les dejo esta función, es como un resumen de las otras que debería funcionar sin embargo no lo hace.
Código:
void __fastcall TForm1::CrearJumpList()
{
/**/
ICustomDestinationList *pcdl;
HRESULT hr;
hr = CoCreateInstance(CLSID_DestinationList, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pcdl));
if (!SUCCEEDED(hr)) {ShowMessage("Error"); return;}
hr=pcdl->SetAppID(L"emp.apli.subapli.verci");
if (!SUCCEEDED(hr)) {ShowMessage("Error"); return;}
UINT cMinSlots;
IObjectArray *poaRemoved;
hr = pcdl->BeginList(&cMinSlots, IID_PPV_ARGS(&poaRemoved));
if (!SUCCEEDED(hr)) {ShowMessage("Error"); return;}
//
IObjectCollection *poc;
hr=CoCreateInstance(CLSID_EnumerableObjectCollection, NULL, CLSCTX_INPROC, IID_PPV_ARGS(&poc));
if (!SUCCEEDED(hr)) {ShowMessage("Error"); return;}
IShellItem *psi;
String lolo="c:\\lolo.txt";
hr=SHCreateItemFromParsingName (lolo.c_str(), NULL, IID_PPV_ARGS(&psi));
//hr=SHCreateItemInKnownFolder(FOLDERID_Desktop, KF_FLAG_DEFAULT, L"Microsoft_Sample_1.txt", IID_PPV_ARGS(&psi));
if (!SUCCEEDED(hr)) {ShowMessage("Error"); return;}
poc->AddObject(psi);
psi->Release();
IObjectArray *poa;
hr = poc->QueryInterface(IID_PPV_ARGS(&poa));
if (!SUCCEEDED(hr)) {ShowMessage("Error"); return;}
hr = pcdl->AppendCategory(L"categoria 1", poa);
hr=pcdl->AddUserTasks(poa);
poa->Release();
poc->Release();
pcdl->CommitList();
poaRemoved->Release();
pcdl->Release();
if (!SUCCEEDED(hr)) {ShowMessage("Error frecuente"); return;}
ShowMessage("ya esta");
}