Usar un archivo DLL de Python

Rohan Timalsina 21 junio 2023
Usar un archivo DLL de Python

Una DLL significa Biblioteca de vínculos dinámicos. Un archivo DLL contiene scripts que pueden ser llamados por múltiples programas para realizar ciertas operaciones.

La mayoría de los archivos DLL tienen extensiones .dll. No se pueden ejecutar directamente, pero se pueden usar desde otras aplicaciones para llamar a sus funciones.

Este tutorial le enseñará a usar un archivo DLL de un programa de Python.

Use la biblioteca ctypes para usar un archivo DLL de Python

ctypes es una biblioteca de funciones externas que proporciona tipos de datos compatibles con C en Python. También se usa para llamar a funciones en DLL.

Veamos un ejemplo para llamar a funciones de .dll usando el script de Python. Usaremos un archivo user32.dll para este tutorial en el directorio C:\Windows\System32.

Primero, debe importar la biblioteca ctypes y cargar un archivo DLL.

import ctypes

info = ctypes.WinDLL("C:\\Windows\\System32\\user32.dll")

Después de eso, puede llamar a métodos en el archivo DLL. El siguiente comando imprime la cantidad de botones en un mouse instalado.

print(info.GetSystemMetrics(43))

Producción :

7

La función GetSystemMetrics en user32.dll ayuda a recuperar las métricas del sistema o los ajustes de configuración. Solo toma un parámetro entero.

Puede encontrar otros parámetros válidos y sus valores de retorno en este artículo. Además, hay varias funciones en user32.dll que puede leer en la página docs de Microsoft.

Por ejemplo, puede llamar a la función GetKeyboardType para ver información sobre el teclado.

print(info.GetKeyboardType(0))

Producción :

4

El valor devuelto es 4, lo que significa que el tipo de teclado actual es Mejorado de 101 o 102 teclas.

Ahora debería saber cómo usar un archivo DLL y llamar a sus funciones en Python. Esperamos que te guste este tutorial.

Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website