Barra de tareas de Windows 7 Nuevas características con código administrado

  

Windows 7 Beta se ha publicado públicamente y se puede descargar de http://www.microsoft.com/windows/windows-7/beta-download.aspx. W7 ha realizado muchas mejoras en la barra de tareas. Para conocer las nuevas funciones de la barra de tareas, puede consultar http://blogs.msdn.com/e7/archive/2008/11/20/happy-anniversary-windows-on-the -evolution-of-the-taskbar.aspx. Si desea desarrollar Windows 7, es mejor consultar el documento técnico, que se puede descargar desde http://code.msdn.microsoft.com/PDC08WhitePapers/Release/ProjectReleases.ASPx?ReleaseId=1797. Usaremos las mejoras de la barra de tareas de Windows 7 para nuestro desarrollo de la barra de tareas. Aquí implementamos principalmente los iconos de superposición y las barras de progreso en el icono de la barra de tareas. La versión beta de Windows 7 SDK también puede ser necesaria durante el proceso de implementación.

Comenzar

Primero busque el archivo ShObjIdl.idl en el SDK de Windows. Si no tiene el SDK instalado, puede descargarlo más tarde. Este es un archivo de lenguaje de definición de la interfaz. Para mayor comodidad de las llamadas, también podemos utilizar

1HRESULT SetProgressValue (
2 [en] HWND hwnd,
3 [en] ULONGLONG ullCompleted,
4 [ ,null,null,3],En] ULONGLONG ullTotal);

Esta declaración de interfaz se cambió a

1HRESULT SetProgressValue (
2 [in] long hwnd,
3 [in] ULONGLONG ullCompleted,
4 [en] ULONGLONG ullTotal);

es cambiar el tipo de HWND a largo. Luego use midl para convertir el archivo idl modificado en un archivo binario tlb, ShObjTlb.tlb es el archivo generado y ShObjIdl.idl es el archivo original.


Use tlbimp para generar el archivo dll administrado desde el archivo tlb.


Agregue una referencia a la dll en el proyecto, y luego puede llamar al método como una dll administrada.

Para avanzar en el icono de la barra de tareas, se utilizan dos funciones, SetProgressState y SetProgressState.

El primer parámetro del método SetProgressState es el identificador, el segundo parámetro es una variable de enumeración, que indica el estado del icono actual, podemos definir una enumeración para representar estos estados

1private enum TbpFlag
2 {
3 TBPF_ERROR = 1,
4 TBPF_PAUSED = 2,
5 TBPF_NORMAL = 3,
6 TBPF_INDETERMINATE = 4,
7};

Luego puede usar SetProgressState ((int) this.Handle, TBPFLAG.TBPF_NORMAL); establezca el estado del icono en normal.

SetProgressValue ((int) this.Handle, 50, 100). Puede establecer el progreso, el primer parámetro es el controlador, el segundo parámetro es la cantidad completada y el tercer parámetro es la cantidad total.

Para obtener detalles sobre cómo usar estas funciones, compruebe el SDK de Windows 7 o la versión en inglés de MSDN Library.

Efectos

Finalización del 20%:


Finalización del 50%:


100% Completa Hora:


Otros

De acuerdo con este método y refiriéndose al documento técnico del PDC2008, puede implementar otras funciones nuevas de Windows 7 en un idioma administrado.

Código no administrado

Si implementa esta función en C ++, será más fácil. Puede consultar el SDK de Windows. La ruta es Microsoft SDKsWindowsv7.0SampleswinuiShellTaskbarIntegrationPeripheralStatus

Copyright © Conocimiento de Windows All Rights Reserved