Compartir a través de


Método ICustomDestinationList::AddUserTasks (shobjidl_core.h)

Especifica los elementos que se van a incluir en la categoría Tareas de una lista de accesos directos personalizado.

Sintaxis

HRESULT AddUserTasks(
  [in] IObjectArray *poa
);

Parámetros

[in] poa

Tipo: IObjectArray*

Puntero a un objeto IObjectArray que representa uno o varios objetos IShellLink (o, más raramente, IShellItem) que representan las tareas.

Nota Cualquier IShellLink usado aquí debe declarar una lista de argumentos a través de SetArguments. No se admite la adición de un objeto IShellLink sin argumentos a una categoría personalizada. Un usuario no puede anclar o desanclar este tipo de elemento de una lista de accesos directos, ni se pueden agregar ni quitar.
 

Valor devuelto

Tipo: HRESULT

Devuelve S_OK si se realiza correctamente; de lo contrario, un valor de error.

Comentarios

Debe llamar a ICustomDestinationList::BeginList antes de llamar a este método.

El encabezado de categoría Tareas siempre se muestra en la lista de forma predeterminada, a menos que la categoría esté vacía. No se puede cambiar este texto de encabezado. Se muestra en el idioma seleccionado del usuario.

La categoría Tareas , aunque siempre aparezca como la última categoría de una lista de accesos directos, tiene prioridad sobre todas las demás categorías de la lista. Esta lista se rellena y, a continuación, el espacio restante se asigna a las demás categorías. A diferencia de otras categorías, el usuario no puede quitar ni anclar los elementos de la categoría Tareas . Las aplicaciones deben equilibrar el valor del usuario de las tareas de esta categoría con respecto al espacio necesario para otras categorías.

Las tareas deben aplicarse a la aplicación en su conjunto; no están diseñados para ser específicos de una ventana o documento individual. Para esas tareas contextuales más detalladas, una aplicación puede proporcionarlas a través de una barra de herramientas en miniatura.

Nota Se recomienda encarecidamente que la lista de tareas sea estática. La lista de tareas debe permanecer igual independientemente del estado o el estado de la aplicación, estas tareas están disponibles incluso cuando la aplicación no se está ejecutando. No hay ninguna prohibición mediante programación contra el uso de AddUserTasks para variar la lista de tareas cuando se actualiza, pero debe considerar que esto podría confundir al usuario que no espera que cambie esa parte de la lista de accesos directos. Sin embargo, si una aplicación opta por cambiar el estado de una tarea, como "Iniciar sesión" a "Cerrar sesión", es responsabilidad de esa aplicación asegurarse de que la lista de tareas es correcta y actualizada. Además, si la aplicación se cierra inesperadamente, la barra de tareas usará su última versión correcta conocida de la lista de tareas sin llamar a la aplicación para solicitar una, lo que dará lugar a la posibilidad de elementos obsoletos.
 

Las instancias de IShellLink proporcionadas a través de IObjectArray a las que apunta poa deben proporcionar lo siguiente:

El nombre para mostrar debe establecerse a través de la propiedad System.Title (PKEY_Title) del elemento. La propiedad puede contener directamente el nombre para mostrar o puede ser una representación de cadena indirecta, como "@shell32.dll,-1324", para usar una cadena almacenada. Una cadena indirecta permite mostrar el nombre del elemento en el idioma seleccionado del usuario.

Opcionalmente, el campo de descripción (SetDescription) se puede establecer para proporcionar una información sobre herramientas personalizada para el elemento en la lista de accesos directos.

Una lista de tareas también puede incluir separadores. Estos se crean incluyendo un IShellLink en blanco (esta es la única excepción al requisito de lista de argumentos) y estableciendo su propiedad System.AppUserModel.IsDestListSeparator en TRUE a través de la interfaz IPropertyStore del objeto IShellLink. Se omitirán los demás valores de IShellLink . Los separadores no ocupan un espacio completo en la lista y no se cuentan en el número de elementos de la lista. Si no se proporcionan dos separadores sin elementos entre ellos, no se mostrará uno de los separadores. También se omiten los separadores al principio o al final de la lista.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado shobjidl_core.h (incluya Shobjidl.h)
Library Shell32.lib
Archivo DLL Shell32.dll (versión 6.1 o posterior)

Consulte también

ICustomDestinationList

ICustomDestinationList::AppendCategory

ICustomDestinationList::AppendKnownCategory

Extensiones de la barra de tareas