Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Creación de jumplist en Windows 7 (https://www.clubdelphi.com/foros/showthread.php?t=65536)

_cero_ 23-12-2009 05:01:29

Creación de jumplist en Windows 7
 
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");
}


Ñuño Martínez 24-12-2009 13:21:10

Hola. Veo que nadie contesta. Yo no tengo ni idea, pero tengo curiosidad:

¿Qué es "jumplist"? :confused:

_cero_ 24-12-2009 18:29:09

Jump list, son las listas que salen al darle click derecho en un botón de la nueva barra de tareas de win 7, pueden ser realmente útiles para una que otra función rápida, dejo una imagen para aclarar el asunto.



La franja horaria es GMT +2. Ahora son las 00:06:06.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi