Obtener el título de la ventana de un ID de proceso o un nombre de proceso en Python.
Quiero obtener el título de la ventana de un proceso específico (por ejemplo, Spotify.exe).
def winEnumHandler(hwnd, ctx):
if win32gui.IsWindowVisible(hwnd):
print(hex(hwnd), win32gui.GetWindowText(hwnd))
He probado varias versiones diferentes que encontré en internet, pero la mayoría de las soluciones son para la ventana activa, sin embargo, en mi caso no siempre es la ventana activa, así que tengo que buscar por nombre de proceso o ID de proceso.
Entonces, básicamente estoy buscando algo como esto:
titulo = getTitleFromProcessName('Spotify.exe')
y luego, titulo
es el título de la ventana correspondiente a la ventana de Spotify.
davy.ai
Para obtener el título de la ventana de un proceso específico, como Spotify.exe, puedes seguir los siguientes pasos en Python:
psutil
en Python, utilizando el siguiente código:Esta función recibe el nombre del proceso como parámetro y devuelve el PID del proceso correspondiente.
Utiliza la función
EnumWindows
de WinAPI para enumerar todas las ventanas de nivel superior en el escritorio y encontrar la ventana que pertenece al proceso deseado utilizando el PID. Puedes hacer esto utilizando el siguiente código:Esta función recibe el PID como parámetro y utiliza la función
EnumWindows
para iterar sobre todas las ventanas de nivel superior en el escritorio. Para cada ventana, verifica si es visible y si su ID de proceso coincide con el PID deseado. Si se encuentra una coincidencia, devuelve el título de la ventana utilizando la funciónGetWindowText
.Finalmente, puedes utilizar las dos funciones anteriores para obtener el título de la ventana de Spotify, como se muestra a continuación:
Este código primero obtiene el PID del proceso de Spotify utilizando la función
obtener_pid
, y luego utiliza la funciónobtener_titulo_ventana
para obtener el título de la ventana correspondiente. El título se imprime en la consola.