He encontrado que la Programación de Windows sigue siendo útil. Gracias al énfasis de Microsoft en la compatibilidad con versiones anteriores, todo lo esencial (identificadores de ventana, mensajes, GDI, etc.) parece ser relevante y está cubierto en Petzold. (Si algo cambiara demasiado drásticamente, rompería demasiados programas existentes de Windows, y la gran cantidad de programas existentes de Windows es una gran parte de la ventaja de Windows en el mercado).
Hay nuevas API específicas, como la API de configuración , la API de Thread Pool y GDI + , y hay nuevos temas, como trabajar en el contexto del UAC de Vista y 7. También hay varias funciones nuevas individuales que Petzold no cubre, pero es bastante fácil buscar nuevos temas en MSDN según sea necesario. La programación de Windows tampoco cubre COM, que puede ser una gran parte de la programación de Windows.
Tenga en cuenta que la API que cubre Petzold es de bajo nivel y basada en C. (Hay algunas API más nuevas, como GDI + y algunas de las cosas COM, que están orientadas a objetos). Prácticamente cualquier desarrollo moderno estará orientado a objetos y a menudo utilizará un marco como .NET o Qt o VCL de Delphi, por lo que Raramente escribirá aplicaciones completas que se vean como el código de ejemplo en Programación de Windows ; Sin embargo, sigue siendo excelente para explicar lo que sucede debajo del capó.
Miré a mi alrededor hace un tiempo y no pude encontrar ninguna referencia de API más nueva. Sospecho que esto se debe al gran tamaño de las API de Windows actuales; La programación de Windows, 5ª edición ya tiene casi 1500 páginas, un libro que cubría cualquier cosa nueva sería demasiado grande. Encontré un par de suplementos interesantes para la programación de Windows , aunque todavía no los he leído:
- COM esencial , de Don Box: varias de las nuevas API de Vista están basadas en COM, y Petzold no cubre COM.
- La Programación del sistema de Windows , de Johnson M. Hart, parece omitir por completo la interfaz gráfica de usuario y el GDI que Petzold cubre tan bien, pero tiene muchos más detalles sobre los enfoques modernos de subprocesamiento múltiple, IPC, etc.
- Windows Internals , de Russonovich, Solomon e Ionescu, menos sobre las API y más sobre cómo Windows funciona bajo el capó. Russonovich posiblemente sabe más sobre esto que nadie dentro o fuera de Microsoft.
El Programador de tareas también es nuevo, se han agregado muchos objetos e interfaces nuevos. Antes de Task Scheduler 2.0, había alrededor de 5 objetos involucrados en la programación de tareas. En 2.0 (introducido cuando salió Vista), hay 20, no es broma, 20. Esta es una de las cosas no tan buenas de la programación de win32, pero no está tan mal.
Me encanta programar en win32, aprendes mucho sobre cómo Windows y otros sistemas operativos funcionan a un nivel inferior y creo que te hace un mejor programador. Si programa en python, no aprenderá sobre cómo se organizan los directorios, simplemente use
os.listdir("")
. Pero cuando usaFindFirstFile()
&FindNextFile
en win32 descubre cómo están organizados los directorios, descubre el ".." & "oculto". directorios y de ahí pueden surgir formas más eficientes de catalogar y buscar directorios.Para obtener recursos de win32, vaya a http://groups.google.com/group/comp.os.ms-windows.programmer.win32/topics
fuente