Historia de los programadores de Windows Vista

Marzo de 2007

Publicado: 20 de Abril de 2007

Microsoft Corporation

Resumen: La Historia de los programadores de Windows Vista incluye contenido para programadores y otros expertos y directivos del área tecnológica interesados en una exploración exhaustiva de parte de las nuevas y extendidas características de Windows Vista. Se publica en el Centro de programadores de Windows Vista en forma de artículos breves aproximadamente una vez cada dos semanas. Muchos de esos artículos son sólo un resumen del archivo de Ayuda de Microsoft Windows, que se puede descargar aquí. Para encontrar este artículo en el archivo de Ayuda descargado, expanda Fundamentals, Windows Shell (Windows Vista) y, a continuación, expanda y haga clic en Developing for Windows Shell.

Nota

Para aportar comentarios sobre los artículos, envíe un correo electrónico a Vistadev@microsoft.com.

En esta página

Introducción Introducción
Programación con cuadros de diálogo de archivos comunes Programación con cuadros de diálogo de archivos comunes
Programación para el Administrador de ventanas de escritorio (DWM) Programación para el Administrador de ventanas de escritorio (DWM)
Programación con el Explorador de Windows Programación con el Explorador de Windows
Programación con Internet Explorer Programación con Internet Explorer
Nuevas interfaces de shell para Windows Vista Nuevas interfaces de shell para Windows Vista
Nuevas funciones de shell para Windows Vista Nuevas funciones de shell para Windows Vista
Otros vínculos útiles Otros vínculos útiles

Introducción

El shell de Windows es el contenedor en el que se presenta toda la interfaz de usuario de Windows Vista, incluidos la barra de tareas, el Escritorio, el Explorador de Windows y muchos de los cuadros de diálogo y controles de interfaz.

En la versión 3.0 de Microsoft Windows, el shell original se implementó como una DLL Win16 nativo con una API correspondiente. Incluía varias ventanas que se superponían y el Administrador de programas para examinar y administrar el sistema de archivos. Microsoft Windows 95 presentaba muchas mejoras en la interfaz de usuario, un nuevo Explorador de Windows y una nueva plataforma basada en COM y sus API correspondientes. La versión 3 de Microsoft Internet Explorer agregaba accesos directos a Internet y extensiones de explorador. Cada versión posterior de Windows e Internet Explorer tuvo como resultado capacidades adicionales y la correspondiente ampliación de las API Win32 y COM. El tiempo de ejecución para el shell se distribuye en varias bibliotecas de vínculos dinámicos (DLL). Para obtener más información, consulte la sección de introducción al shell de Windows del Kit de programación de software de Windows (SDK).

Entre las características del shell de Windows Vista enfocadas a los datos y metadatos se incluyen el Administrador de sincronización, iconos dinámicos, vista previa avanzada y controladores de propiedades. La programación para el Panel de control se trata en la sección de administración de Windows Vista dentro de los aspectos básicos que contiene el SDK de Windows. Para obtener más información, vea "Programación para el panel de control" en MSDN Library.

Este artículo ofrece información acerca de los cambios en las áreas siguientes:

  • Programación con cuadros de diálogo de archivos comunes: describe cómo programar los cuadros de diálogo comunes: archivo genérico, abrir archivo y guardar archivo. Estos cuadros de diálogo son nuevos en Windows Vista.

  • Programación para el Administrador de ventanas de escritorio (DWM): describe el nuevo motor para administrar la disposición visual y de las ventanas en el escritorio, e introduce el nuevo conjunto de API de shell

  • Programación con el Explorador de Windows: describe la arquitectura del nuevo Explorador de Windows Vista y cómo los programadores pueden optimizar el uso de sus componentes. Programación con Internet Explorer (IE) presenta la plataforma de IE y las formas en las que el programador puede aprovechar la plataforma; asimismo, enumera los principales cambios de IE 7

  • Programación con Internet Explorer: describe los principales cambios de la interfaz de usuario y la funcionalidad de IE 7, y describe cómo los programadores de software pueden extender e interactuar con IE

  • Nuevas interfaces de shell: por categorías, enumera las nuevas interfaces de shell de Windows Vista.

  • Nuevas funciones de shell: ofrece una lista de funciones de shell agrupadas de Windows Vista

Programación con cuadros de diálogo de archivos comunes

Windows Vista ofrece una versión actualizada del cuadro de diálogo de archivos común para satisfacer las necesidades de la mayoría de los programadores. No sólo es eficaz, sino que está diseñado para admitir la personalización y ampliaciones. El shell de Windows Vista proporciona acceso a estos nuevos cuadros de diálogo de archivo a través de IFileDialog y las interfaces relacionadas. Las aplicaciones de .NET Framework 3.0 para Windows Vista pueden tener acceso a esta funcionalidad a través de la admisión de la interoperabilidad del SDK de Windows. Para obtener más información, consulte "Interoperabilidad y migración" en MSDN Library.

Uso de un objeto de diálogo de archivos común

Las aplicaciones que deben crear una instancia de cuadro de diálogo de archivos común tienen que obtener una de las interfaces siguientes:

  • IFileDialog: la interfaz más genérica y principal de las dos siguientes

  • IFileOpenDialog: amplía IFileDialog para permitir a las aplicaciones controlar los aspectos particulares de las operaciones de apertura, como la selección de varios elementos

  • IFileSaveDialog: controla las operaciones Guardar como y trabaja con metadatos

Todos los cuadros de diálogo de archivos son modales. Los métodos de estas clases permiten a los programadores obtener y configurar los elementos fijos de la interfaz de usuario del cuadro de diálogo (como SetTitle, SetDefaultFolder, SetFileTypes y GetCurrentSelection), habituales al usar cuadros de diálogo. Muchos de los comportamientos estandardizados del cuadro de diálogo se pueden controlar mediante los métodos GetOptions y SetOptions usando un conjunto de indicadores de bit. Estas opciones se pueden establecer sólo antes de mostrar el cuadro de diálogo; en caso contrario, el método SetOptions devuelve un error. La selección final del usuario se puede recuperar con el método GetResult o con IFileOpenDialog cuando la opción FOS_ALLOWMULTISELECT está habilitada.

Trabajo con eventos de cuadro de diálogo de archivos

Aunque la creación de instancias de objeto de diálogo de archivos proporciona la interfaz de usuario y la funcionalidad principales del correspondiente cuadro de diálogo de archivos común, en algunos clientes el uso práctico de estos diálogos requiere que los programadores tengan acceso a los eventos generados por operaciones de cuadro de diálogo o los controles individuales del cuadro de diálogo.

La interfaz IFileDialogEvents ofrece métodos que indican las acciones y los métodos de usuario que permiten la notificación de eventos dentro de un cuadro de diálogo de archivos común. Para obtener más información acerca del trabajo con eventos de cuadro de diálogo de archivos, vea el archivo descargable de Ayuda, que se puede obtener aquí. Para encontrar este artículo en el archivo de Ayuda descargado, expanda Fundamentals, Windows Shell (Windows Vista) y, a continuación, expanda y haga clic en Developing for Windows Shell.

Personalización de un cuadro de diálogo de archivos común

Además de la interfaz de usuario y las personalizaciones de comportamiento que se pueden llevar a cabo a través de la interfaz principal del cuadro de diálogo y las interfaces de evento, la interfaz IFileDialogCustomize permite a los programadores agregar los controles comunes adicionales al cuadro de diálogo encima o debajo del conjunto de controles estándar para ese cuadro de diálogo. Entre estos controles se incluyen PushButton, ComboBox, EditBox, CheckBox y RadioButtonList. Para obtener más información acerca de la personalización de cuadros de diálogo de archivos comunes, vea el archivo descargable de Ayuda, que se puede obtener aquí. Para encontrar este artículo en el archivo de Ayuda descargado, expanda Fundamentals, Windows Shell (Windows Vista) y, a continuación, expanda y haga clic en Developing for Windows Shell

Programación para el Administrador de ventanas de escritorio (DWM)

El Administrador de ventanas de escritorio (DWM) es el nuevo componente de Windows Vista que administra la disposición visual del Escritorio de Windows Vista y organiza la presentación de las ventanas de aplicación. En versiones anteriores de Windows, las aplicaciones se dibujan directamente en el dispositivo de pantalla. DWM usa la composición de escritorio para dibujar una superficie, como una ventana de aplicación, en un búfer fuera de pantalla, antes de que se componga con las otras superficies para representar el escritorio. Para obtener más información acerca de la programación para DWM, vea el archivo descargable de Ayuda, que se puede obtener aquí. Para encontrar este artículo en el archivo de Ayuda descargado, expanda Fundamentals, Windows Shell (Windows Vista) y, a continuación, expanda y haga clic en Developing for Windows Shell.

Programación con el Explorador de Windows

El Explorador de Windows de Windows Vista es una aplicación eficaz de administración y examen de archivos. Se puede obtener acceso al Explorador de Windows como conjunto integrado a través de Explorer.exe o la interfaz de shell IExplorerBrowser.

El Explorador de Windows (Explorer.exe) se puede generar como un proceso independiente mediante ShellExecuteEx o una función similar. Las opciones de línea de comandos están documentadas en el sitio de Ayuda y soporte técnico de Microsoft en el artículo "Opciones de línea de comandos del Explorador de Windows".

Las ventanas abiertas del Explorador se pueden descubrir y programar usando IShellWindows/CLSID_ShellWindows y las instancias nuevas de Explorador de Windows se pueden crear mediante IWebBrowser2/CLSID_ShellBrowserWindow.

En el archivo descargable de Ayuda, que se puede obtener aquí, se puede encontrar un ejemplo de código C++ que demuestra cómo el modelo de automatización del Explorador de Windows se puede usar para crear y descubrir ventanas del Explorador en ejecución. Para encontrar este artículo en el archivo de Ayuda descargado, expanda Fundamentals, Windows Shell (Windows Vista) y, a continuación, expanda y haga clic en Developing for Windows Shell

El área de cliente del Explorador de Windows se puede alojar usando la interfaz de shell IExplorerBrowser. El cliente del Explorador de Windows y los controles de árbol del espacio de nombres son los componentes estándar de Windows Vista y estas interfaces son públicas. Por lo tanto, los programadores pueden volver a emplear las interfaces como componentes. Habitualmente, estos controles se usan para crear exploradores personalizados apropiados para el dominio del problema.

Los controles del Explorador de Windows se clasifican en las siguientes categorías funcionales: controles de navegación, controles de comando, controles de propiedades y vista previa, controles de filtrado y vista, y control Listview.

Controles de navegación

Los controles de navegación ayudan a los usuarios a determinar el contexto y a desplazarse por el espacio de dominio lógico asociado, llamado espacio de páginas. Por ejemplo, el espacio de páginas para el Explorador de Windows es el espacio de nombres de shell. Los espacios de páginas están compuestos por cero o más páginas.

La tabla siguiente enumera y describe los controles de navegación disponibles en el Explorador de Windows, en el sistema operativo Windows Vista.

Control de navegación

Descripción

Address Bar (control de ruta de exploración)

Muestra la dirección de la página actual en el espacio de páginas. Se puede hacer clic en los botones de ruta de exploración para desplazarse hasta cualquier antecesor en el espacio de páginas. Los usuarios pueden seguir escribiendo direcciones URL y rutas de acceso para desplazarse

Folder Tree

Ofrece una versión nueva de un control de árbol, optimizado para espacios de páginas grandes.

Travel

Habilita la navegación relativa a través de botones de estilo web, como Atrás y Adelante.

Title

Muestra el nombre y contexto actuales del Explorador.

Pagespace

Muestra la rama actual del espacio de páginas. Las páginas se pueden ordenar según distintos criterios. Los usuarios pueden hacer clic en una página para desplazarse a ella

Controles de comando

Los controles de comando comunican a los usuarios las características y la funcionalidad del Explorador, y llevan a cabo acciones generales o acciones específicas a un elemento o elementos seleccionados.

Control de comando

Descripción

Toolbar

Muestra botones para los comandos más comunes (una versión nueva de una barra de herramientas de comandos). Entre las opciones de personalización se incluyen botones desplegables, botones de división, texto descriptivo opcional y un área de desbordamiento

Hero

Aparece como un solo control personalizado opcional en el centro de la barra de herramientas. Representa el comando principal para el contexto actual

Menu Bar

Presenta los comandos de los menús (control heredado en el Explorador de Windows)

Context Menu

Enumera un subconjunto contextualmente relevante de los comandos disponibles y mostrados como resultado de hacer clic con el botón secundario del mouse

Controles de propiedades y vista previa

Los controles de propiedades y vista previa se usan para obtener una vista previa de los elementos, así como para ver y modificar sus propiedades

Control

Descripción

Preview

Muestra una vista previa del elemento seleccionado, como una vista en miniatura o un icono dinámico

Properties

Muestra las propiedades del elemento seleccionado. En selecciones múltiples, muestra el resumen de propiedades del grupo de elementos seleccionado. Para la selección nula, muestra un resumen de las propiedades de la página actual (el contenido de la vista de lista).

Controles de filtrado y vista

Los controles de filtrado y vista se usan para manipular el conjunto de elementos de la vista de lista y para cambiar su presentación

Control

Descripción

Filter

Filtra o dispone los elementos de la vista de lista, según las propiedades enumeradas como columnas. Al hacer clic en una columna se ordena por esa propiedad

Wordwheel

Filtra incremental y dinámicamente los elementos mostrados en la vista de lista, según la cadena de texto de entrada

View

Permite al usuario cambiar el modo de vista del control Listview. Asimismo, se puede usar un control deslizante para determinar el tamaño del icono

Control Listview

El control Listview se usa para ver un conjunto de elementos en uno de los cuatro modos de vista: Detalle, Mosaicos, Iconos o Panorámica. El control Listview también permite al usuario interactuar con uno o más elementos a través de la selección y la activación.

Aunque algunos de estos controles tengan nombres y/o funcionalidades similares a los controles estándar de Windows Presentation Foundation (WPF) que se encuentran en el espacio de nombres System.Windows.Controls, se trata de clases distintas

Estos controles independientes están unidos a través de eventos generados por la interacción del usuario o por los propios controles. Éstas son las tres categorías principales de evento:

Categoría de evento

Ejemplo

Exploración

Ir de una página a otra

Selección

Cambiar la selección actual en la vista de lista

Cambio de la vista

Cambiar el orden de la presentación o modo de vista en la vista de lista

Con un conjunto de controles tan completo y funcional sobre el que dibujar, los programadores pueden centrarse en describir su espacio de páginas e implementar el comportamiento asociado a su contenido.

En el momento en el que se escribió este artículo, el SDK de Windows aún no contenía documentación sobre estos controles del Explorador; no obstante, el ejemplo ExplorerBrowserAPI se incluye en el directorio Samples.

Programación con Internet Explorer

Además de ser el primer explorador web, Microsoft Internet Explorer (IE) es una plataforma compleja y eficaz para la programación independiente de software. Los programadores pueden extender e interactuar con IE a través de varios métodos y tecnologías, incluidas los siguientes:

  • Instancias generadas

  • Instancias automatizadas

  • Protocolos conectables asincrónicos

  • Extensiones de explorador

  • Objetos del ayudante del explorador (BHO)

  • Descarga de componentes

  • Ejecución remota de aplicaciones

  • Reutilización de componentes

Instancias generadas

Muchas aplicaciones generan una instancia de IE para ver un recurso conocido (por ejemplo, para examinar una página web o mostrar un archivo HTML local). Esto se puede conseguir mediante la función ShellExecute para ejecutar IExplore.exe directamente, o abriendo indirectamente un archivo de datos asociado a IE en el equipo actual (por ejemplo, un archivo .html). En esta última opción se supone que IE es el explorador predeterminado. Se puede obtener el mismo resultado en una aplicación administrada con System.Diagnostics.Process.Start.

Instancias automatizadas

Es posible llevar a cabo un mayor control sobre una instancia de IE mediante el objeto de automatización COM InternetExplorer.

Protocolos conectables asincrónicos

Una API basada en COM permite la creación de controladores de protocolos conectables personalizados, filtros MIME y controladores de espacio de nombres. De este modo, IE se puede extender para comprender nuevos protocolos de comunicaciones y formatos de documento.

Extensiones del explorador

Las extensiones del explorador permiten a los programadores modificar la interfaz de usuario de IE mediante la adición de barras de Explorador personalizadas, nuevas entradas de menú contextual, nuevos comandos del menú Herramientas y botones asociados de barra de herramientas.

Objetos del ayudante del explorador (BHO)

Los objetos del ayudante del explorador (BHO) permite la extensión de IE con componentes COM personalizados en proceso. Los BHO se cargan cada vez que IE se inicia y pueden realizar cualquier acción en los módulos y ventanas disponibles de IE: personalizar la interfaz de usuario del explorador, controlar eventos, enlazar mensajes e interpretar formatos de datos personalizados.

Descarga de componentes

IE se puede usar para distribuir componentes, como controles Microsoft ActiveX (.ocx), archivos de biblioteca de vínculos dinámicos (.dll), archivos ejecutables y subprogramas o archivos de clase de Java, a equipos cliente para su uso a petición o situaciones permanentes de instalación. IE admite archivos firmados (.cab) para empaquetar conjuntos de distribución, archivos de información (.inf) para proporcionar instrucciones de instalación y un archivo Open Software Description (OSD, Descripción de software abierto) para describir los componentes del software y sus relaciones.

Ejecución remota de aplicaciones

Las tecnologías cliente-servidor, como ASP.NET de Microsoft o el control ActiveX de conexión web a escritorio remoto de Servicios de Terminal Server, permite a IE alojar aplicaciones que se ejecuten (por lo menos parcialmente) en un servidor.

Reutilización de componentes

La arquitectura modular de IE proporciona a los programadores varios controles ActiveX eficaces y reutilizables que se pueden usar en aplicaciones independientes. Los más comunes son el control WebBrowser (Shdocvw.dll), que ofrece un mini explorador con navegación e historial, y Mshtml.dll, el motor principal que controla el análisis y presentación de HTML.

IE tiene asociadas muchas más características, servicios y herramientas, entre los que se incluyen el editor de MSHTML, el analizador de Microsoft XML Core Services (MSXML, Servicios principales de Microsoft XML) y la arquitectura de hipervínculos. Para obtener más información, consulte lo referente a la programación de Internet Explorer en MSDN Library y visite el Centro de programadores de Internet Explorer.

Novedades de Internet Explorer 7

Se han llevado a cabo muchos cambios importantes en la interfaz de usuario y funcionalidad de IE 7. Los cambios aparecen especialmente en las áreas de seguridad y protocolo actualizado, y la compatibilidad con estándares.

Los siguientes cambios se realizaron pensando en los programadores de software:

  • Nueva compatibilidad con fuentes web: IE 7 admite en su interfaz fuentes RSS y ATOM con mayor claridad y mediante su integración con la API de fuentes web de Microsoft. Para obtener más información, consulte "RSS en Windows Vista" en MSDN Library.

  • Filtro de suplantación de identidad (phishing) de Microsoft: IE 7 incluye una funcionalidad para proteger a los usuarios de ataques de suplantación de la identidad (phishing) de sitios hostiles. IE incluye un completo filtro de suplantación de identidad (phishing) para todas las plataformas, que permite a los administradores del sistema establecer directivas de grupo para toda la red. Los programadores de sitios web con buen comportamiento sacarán gran partido del filtro de suplantación de identidad (phishing), ya que los usuarios confiarán en el control adicional que tienen sobre su entorno.

  • Explorador por pestañas: esta mejora en la interfaz de usuario para los usuarios también aparece en los cambios aplicados a las API asociadas y el Modelo de objetos de documento (DOM) de IE. Para obtener más información, consulte lo referente a la exploración por pestañas para programadores en MSDN Library.

  • Mejor compatibilidad para los estándares existentes: se ha mejorado la compatibilidad con nombres de dominio internacionales (IDN), HTML 4.0.1, hojas de estilos en cascada y gráficos de red portátiles (PNG).

  • Modo protegido: en Windows Vista, el modo protegido reduce la gravedad de las amenazas para IE y las extensiones que se ejecutan en IE al eliminar la posibilidad de instalar código malintencionado de forma silenciosa a través de las vulnerabilidades del software. IE 7 usa el mecanismo de integridad de Windows Vista y el aislamiento de privilegios en la interfaz de usuario (UIPI) para bloquear la interacción de IE con los recursos y aplicaciones del sistema con mayor integridad. Aunque Windows Vista e IE contienen características para admitir versiones anteriores de las aplicaciones, se deben probar a conciencia todas las aplicaciones nuevas y existentes en Windows Vista con IE 7.

  • Compatibilidad con XMLHTTP nativo: IE 7 implementa una versión de XMLHTTP que constituye un objeto nativo y utilizable en scripts, en lugar de un objeto. Ahora, los usuarios pueden tener desactivados los controles ActiveX y mantener la conexión del cliente con un servidor, de modo que las transacciones dinámicas que usan datos XML pueden continuar ejecutándose en segundo plano. Esto permite insertar nuevos datos dinámicamente recuperados en una página HTML actual o estática.

  • Control de selección sin ventanas: aunque este cambio permite que el orden Z y el zoom funcionen correctamente, las aplicaciones existentes que dependen de HWND de este control se deben volver a escribir para usar DOM.

Para obtener más información, vea "Novedades de Internet Explorer 7" en MSDN Library.

Nuevas interfaces de shell para Windows Vista

Se ha agregado un completo conjunto de interfaces COM al shell de Windows Vista, que extienden en gran medida sus capacidades integradas. Para obtener más información acerca de las nuevas interfaces de shell para Windows Vista, vea el archivo descargable de Ayuda, que se puede obtener aquí. Para encontrar este artículo en el archivo de Ayuda descargado, expanda Fundamentals, Windows Shell (Windows Vista) y, a continuación, expanda y haga clic en Developing for Windows Shell.

Nuevas funciones de shell para Windows Vista

Se ha agregado un conjunto extenso de funciones para Win32, el modelo de programación no administrado para el sistema operativo de Microsoft Windows, a la API de shell de Windows Vista. Para obtener más información acerca de las nuevas funciones de shell para Windows Vista, vea el archivo descargable de Ayuda, que se puede obtener aquí. Para encontrar este artículo en el archivo de Ayuda descargado, expanda Fundamentals, Windows Shell (Windows Vista) y, a continuación, expanda y haga clic en Developing for Windows Shell.

Otros vínculos útiles

Historia de los programadores de Windows Vista: Shell de Windows (Windows Vista)

Mostrar: