win32api - ¿Cómo debo aprender a usar la API de Windows con Python?
win32com python (12)
Evite los tutoriales (escritos por niños, para niños, nivel de novato) Lea Petzold, Richter, Pietrek, Russinovich y Adv. Noticias del grupo de noticias api Win32: //comp.os.ms-windows.programmer.win32
Tengo muy poca experiencia en la creación de software para Windows y cero experiencia con la API de Windows, pero estoy bastante familiarizado con Python. Entonces, ¿cómo debo aprender a usar la API de Windows con Python?
"> recurso gratuito para aprender a usar la API de Windows (preferiblemente con python)
Puede referirse a la Programación Python en Win32 por Mark Hammond y Andy Robinson junto con pywin32 .
Si no está interesado en utilizar pywin32 , puede usar ctypes: una biblioteca de funciones extranjeras para Python y el Tutorial de programación de API Win32 de Forger .
Consulte el código de ejemplo: memoria compartida con Mutex (pywin32 y ctypes)
Learning Win32 API es el 5% de la comprensión inicial de los conceptos y los patrones utilizados y el 95% de RTFM.
Para esos 5% iniciales, el libro de Petzold es realmente bueno, pero sospecho que debería haber algunos tutoriales en línea que puedes encontrar en Google lo mejor que puedo para encontrarlos.
Realmente, una vez que te acostumbras es realmente sencillo hacer algo. Una vez que llegues allí, probablemente sea el momento de pasar a algo mejor, como QT, y nunca volver a tocar la API de Win32. Hoy en día nadie realmente usa la API Win32 desnuda para nada más que trivial debido a la sobrecarga que implica y la extrema falta de confort.
Recomiendo encarecidamente el Tutorial API Win32 de Forger . Es un tutorial de C, pero tiene tu mano y te muestra lo básico. También es bastante corto, lo cual es bueno en un tutorial.
Todo lo que necesita es completamente gratis en MSDN.COM. Win32 se programa fácilmente utilizando C / C ++, C # y Visual Basic. Recomiendo C / C ++. Puede descargar las ediciones de Visual Studio Express aquí .
Toda la documentación (no una forma abreviada) está en la web aquí .
Tenga en cuenta que Win32 a menudo se usa libremente para significar "toda la interfaz de programación para Windows". Más canónicamente, es el conjunto nativo base de API para aplicaciones de modo de usuario. Hay un conjunto similar de API para controladores y componentes kernel. Puedes aprender sobre eso aquí .
Microsoft también tiene muchas otras interfaces de programación de Windows: Common Language Run Time y .NET frame work es una capa administrada en la parte superior de las ventanas. Hay muchas otras familias de API, como DX9 y DX10 (un buen enlace a la programación de juegos aquí ).
Ya que ha preguntado sobre Python, ¿por qué necesita la API de Win32? Eso se usa para escribir programas C / C ++ pequeños y rápidos. Si su herramienta es Python, simplemente descargue wxPython, que se ejecuta maravillosamente en Windows y produce elegantes GUI nativas con un 1% del código y el esfuerzo.
Érase una vez que leí algunos tutoriales de Win32 API en www.relisoft.com
Son una tienda de API anti-MFC y pro-Win32 y tienen un manifiesto de tipo que explica las razones prácticas de por qué.
También tienen un tutorial general de C ++. El 99% del tiempo me gusta su estilo de programación por lo que vale.
Umm ... mucha gente ha puesto el carro antes que el caballo en este caso. La pregunta que tengo para ti es: ¿por qué quieres aprender Win32?
Si desea aprenderlo para poder construir interfaces de usuario de Windows, tal vez considere wxPython en su lugar. Si solo planea llamar a API Win32 no visuales, es posible que el libro de Petzold no sea el mejor. Hay herramientas como SWIG que hacen que las bibliotecas de llamadas como Win32 sean más sencillas desde lenguajes como Python.
Hace aproximadamente 4 años me propuse comprender realmente la API de Windows. Estaba codificando en C # en ese momento, pero sentía que el marco me estaba extrayendo demasiado del API (que era). Así que cambié a Delphi (C ++ o C también habrían sido buenas opciones).
En mi opinión, es importante que comiences a trabajar en un lenguaje que crea código nativo y habla directamente con la API de Windows y que te importa los almacenamientos intermedios, punteros, estructuras y construcciones reales que Windows usa directamente. C # es un excelente lenguaje, pero no la mejor opción para aprender la API de Windows.
A continuación, compre el enlace de Amazon del libro "Internals de Windows" de Mark Russinovich. Esta es la quinta edición. La sexta edición saldrá en abril de 2012 y agrega información acerca de Server 2008 R2 y Windows 7.
Y ahora, para obtener el recurso más importante (y el mejor) para aprender Win32 API:
El plan de estudios de Internals de Windows Operating Systems de Mark Russinovich que se ofrece de forma gratuita.
Está diseñado para ser utilizado por un instructor para enseñar a los estudiantes. Lo revisé y es increíble. Lleno de ejemplos, historia y explicaciones detalladas. En mi opinión, esta es una forma ideal de aprender la API de Windows.
Mark Russinovich es Microsoft Technical Fellow (solo hay 14 en MS, incluido el creador de C #). Él solía ser dueño de Winternals hasta que lo vendió a MS, tiene un doctorado en Ingeniería Informática de Carnegie Mellon, ha sido un presentador frecuente en las conferencias de Microsoft (incluso antes de que trabajara para ellos), y es increíblemente inteligente. Sus presentaciones son una de las principales razones por las que asisto a Microsoft TechEd cada año.
Honestamente no. La API de Windows es un monstruo de 800 libras cubierto de pelo. El libro de 15 libras de Charlie Petzold fue la referencia canónica de antaño.
Dicho esto, la gente de Python para Windows tiene un buen material. Microsoft tiene toda la API en línea , incluidos algunos ejemplos de código y demás. Y el artículo de Wikipedia es una buena visión general.
Como dice Charlie : "este Api es un monstruo de 800 libras cubierto de pelo".
Considere usar la versión expresa (gratuita) de Visual Studio para vb o c # ( http://www.microsoft.com/express/ ) junto con la biblioteca msdn ( http://msdn.microsoft.com/en-us/library /default.aspx ). esto te dará tanta exposición a la API como quieras.