Apagar y reiniciar el sistema con la API de Windows

Apagar y reiniciar el sistema con la API de Windows

La función ExitWindowsEx() de la API de Windows permite que una aplicación apague o reinicie el sistema. En Python podemos interactuar con ella a través del paquete pywin32. Sin embargo, el proceso que invoca a la función debe tener un privilegio especial para poder ejecutar la operación; de lo contrario, fallará con un error de… Seguir leyendo

Extraer ícono de un archivo ejecutable (Windows)

Extraer ícono de un archivo ejecutable (Windows)

La API de Windows provee la función ExtractIconExW para extraer íconos de archivos ejecutables (.exe) y también de los propios archivos de íconos (.ico). A menudo dentro de un archivo .ico, esté incluido en un ejecutable o no, yacen múltiples imágenes de diversos tamaños: 16×16, 32×32, 48×48, etc. Por lo general, en Windows los íconos… Seguir leyendo

Apagar, reiniciar y cerrar sesión en Windows y Linux

Apagar, reiniciar y cerrar sesión en Windows y Linux

Es casi seguro si desarrollas aplicaciones de escritorio que en alguno de tus proyectos o programas requieras de apagar o reiniciar el sistema. En este artículo conoceremos varios de los métodos para concretarlo. Lamentablemente no hay un único método o función que corra en las múltiples plataformas, pero conociendo las distintas opciones que provee cada… Seguir leyendo

Cargar DLL desde memoria en Windows

Cargar DLL desde memoria en Windows

Descargas: cargar-dll-desde-memoria.zip. La vasta colección de funciones que constituyen la API de Windows nos provee únicamente una función para cargar librerías de vínculos dinámicos. LoadLibrary() toma como argumento el nombre o la ruta de un archivo DLL e inicializa su código en el espacio de memoria del proceso que la ha invocado. Luego, podemos acceder… Seguir leyendo

Inyector de DLL con interfaz gráfica

Versión: 3.x. Descargas: código de fuente, archivo ejecutable. Código de fuente de un inyector de DLL de 32-bit para Windows. Incluye una lista de procesos con ruta completa (modificable) e íconos de los respectivos procesos. Utiliza intensivamente ctypes para acceder a la API de Windows, Pillow (PIL) para soportar transparencia en los íconos de la… Seguir leyendo

pywin32 – Interfaz gráfica de usuario nativa

El siguiente código de ejemplo ofrece una base para la implementación de interfaces gráficas de usuario nativas en Windows, utilizando las funciones de la API del sistema vía el paquete pywin32. Puede implementarse prescindiendo de paquetes adicionales, vía ctypes, aunque resulta un tanto más incomodo para el manejo de errores, conversión de datos de Python… Seguir leyendo

Abrir y cerrar la entrada de CD/DVD en Windows y Linux

Versión: todas. Linux No para mi sorpresa, la solución en Linux fue ejecutar un simple comando especificando si la entrada debe abrirse (eject) o cerrarse (eject -t). Afortunadamente Python incorpora un gran soporte para ejecutar comandos o lanzar nuevos procesos a través del módulo subprocess. from subprocess import call call("eject") # Abrir. call(["eject", "-t"]) #… Seguir leyendo

Windows API – Mantener ventana siempre al frente

Versión: 2.x, 3.x. Descargas: alwaysontop.zip. Simple código que utiliza las funciones de la API de Windows FindWindow (en su versión Unicode, FindWindowW) y SetWindowPos para, respectivamente, obtener el número identificador de una ventana específica (determinada a partir del título) y luego enviarla y mantenerla al frente, por más que pierda el foco. #!/usr/bin/env python #… Seguir leyendo

Obtener idioma predeterminado del sistema o usuario

Versión: 2.x, 3.x. Resulta sumamente útil contar con una solución rápida, simple y eficaz para obtener el idioma y región predeterminados en un determinado sistema y en las diversas plataformas. En base al estándar RFC 1766, el módulo estándar locale permite obtener dicha información haciendo uso de la función getdefaultlocale. >>> from locale import getdefaultlocale… Seguir leyendo