es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Obtener el nombre de la aplicación actualmente abierta en Python.

Quiero obtener el nombre de la aplicación que está abierta actualmente usando python. Este es mi código:

import win32.win32gui as win32gui
w = win32gui
window_name = w.GetWindowText(w.GetForegroundWindow())
window_name = str(window_name)
start_time = datetime.now().replace(microsecond=0)
while True:
    new_window_name = w.GetWindowText(w.GetForegroundWindow())
    if window_name != new_window_name:
        stop_time = datetime.now().replace(microsecond=0)
        print(f"{window_name} Tiempo de uso: {stop_time-start_time}")
        window_name = new_window_name
        start_time = datetime.now().replace(microsecond=0)

y con esto, solo estoy obteniendo el encabezado de la aplicación, no el nombre de la aplicación, ¿cómo puedo obtenerlo?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para obtener el nombre de la aplicación en lugar de simplemente el encabezado de la aplicación, puedes modificar el código de la siguiente manera:

    import win32.win32gui as win32gui
    import psutil
    
    while True:
        hwnd = win32gui.GetForegroundWindow()
        pid = win32gui.GetWindowThreadProcessId(hwnd)[1]
        proc = psutil.Process(pid)
        print(f"Nombre de la aplicación: {proc.name()}")
    

    Este código utiliza la biblioteca psutil para obtener el ID del proceso de la ventana activa actualmente, y luego recupera el nombre de la aplicación asociada con ese ID de proceso. Esto te debería proporcionar el nombre completo de la aplicación en lugar del título de la ventana solamente.

Comments are closed.