Ver Mensaje Individual
  #4  
Antiguo 20-08-2011
_cero_ _cero_ is offline
Miembro
 
Registrado: abr 2007
Posts: 147
Reputación: 18
_cero_ Va por buen camino
4 Jump List.
http://www.megapix.com/?p=ODK1H4HI.jpg
Esta es la característica más útil que encontré en Windows 7, y la razón de ser de este mini tutorial, es la parte que me costó entender más y aun no creo entenderla del todo, pero básicamente, las jump list son listas de accesos directos que se despliegan al hacer click derecho sobre un icono de una aplicación, estos accesos directos pueden iniciar determinados archivos, o nuestra/ otra aplicación con ciertos parámetros, parámetros que manejaremos nosotros, y que doy por supuesto que cualquiera ha manejado antes así que solo pondré el código para crear una jumplist simple que constara de un acceso y una categoría, si más adelante le descubro una que otra curiosidad ps la pondré en este mismo lugar.
Código:
                  PROPERTYKEY PKEY_Title;
                  CLSIDFromString( L"{F29F85E0-4FF9-1068-AB91-08002B27B3D9}", &PKEY_Title.fmtid );
                  PKEY_Title.pid = 2;
   
                  UINT cMinSlots;
                  ICustomDestinationList *pcdl;
                  IObjectCollection *poc;
                  IObjectArray *poaRemoved;
                  IObjectArray * poa;
                  IPropertyStore *pps;
                  IShellLink *psl;
   
                  CoCreateInstance( CLSID_DestinationList, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS( &pcdl ) );
                                 pcdl->BeginList( &cMinSlots, IID_PPV_ARGS( &poaRemoved ) );
                                                 CoCreateInstance( CLSID_EnumerableObjectCollection, NULL, CLSCTX_INPROC, IID_PPV_ARGS( &poc ) );
                                                                 CoCreateInstance( CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS( &psl ) );
                                                                                psl->SetPath( Application->ExeName.c_str() );
                                                                                psl->SetArguments( L"/Parametro" );
   
                                                                                PROPVARIANT propvar;
                                                                                propvar.vt = VT_LPWSTR;
                                                                                propvar.pwszVal = L"Titulo";
                                                                                psl->QueryInterface( IID_PPV_ARGS( &pps ) );
                                                                                pps->SetValue( PKEY_Title, propvar );
                                                                                pps->Commit();
                                                                                pps->Release();
                                                                                PropVariantClear( &propvar );
                                                                                poc->AddObject( psl );
                                                                                poc->QueryInterface( IID_PPV_ARGS( &poa ) );
                                                                                pcdl->AppendCategory( L"Categoria Personalizada", poa );
                                                                                poa->Release();
                                                                 psl->Release();
                                                 poc->Release();
                                 poaRemoved->Release();
                  pcdl->CommitList();
                  pcdl->Release();
Ejemplo: http://www.megaupload.com/?d=OEY75RO8

Pd1. Lamento que este mini tuto termine tan abruptamente sin una explicación extensa de las Jump List y sus posibilidades, la cuestión es que yo mismo no he visto todo, sin mencionar que se me acabo el día que decidí dedicarle a este tema, así que si alguien extiende este tema bienvenido sea. Nos vemos
Responder Con Cita