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.

Problemas añadiendo una variable a getWindowsWithTitle

Entonces tengo problemas con la función getWindowsWithTitle de pygetwindow. Cuando solicito una entrada antes de la llamada a getWindowsWithTitle, obtengo el siguiente error:

Traceback (most recent call last):
  File "*****\main.py", line 79, in <module>
    handle.activate()
  File "*****\venv\lib\site-packages\pygetwindow\_pygetwindow_win.py", line 246, in activate
    _raiseWithLastError()
  File "*****\venv\lib\site-packages\pygetwindow\_pygetwindow_win.py", line 99, in _raiseWithLastError
    raise PyGetWindowException('Error code from Windows: %s - %s' % (errorCode, _formatMessage(errorCode)))
pygetwindow.PyGetWindowException: Error code from Windows: 0 - La operación se completó correctamente.

Si comento mi llamada de entrada, getWindowsWithTitle funciona perfectamente. A continuación, se muestra mi código hasta ahora:

import win32gui
import time
from pynput.keyboard import Key, Controller
import pygetwindow as window

target = input("* Instance Name Is The Title When You Hover Over The Application *\nSeleccione el nombre de la instancia: ")
handle = window.getWindowsWithTitle('Command')[0]

keyboard = Controller()
handle.activate()
handle.maximize()
time.sleep(2)
keyboard.press('a')
keyboard.release('a')

Estoy tratando de obtener una entrada para elegir qué ventana seleccionar, pero incluso al colocar “target” en getWindowsWithTitle, me da el mismo error. ¿Alguien sabe por qué estoy obteniendo este error después de ingresar la entrada?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema no está en la función getWindowsWithTitle en sí, sino en la forma en que se está utilizando la entrada en el código.

    Según el mensaje de error, la función handle.activate() está causando el error, no la función getWindowsWithTitle. Por lo tanto, es probable que la variable handle no esté referenciando correctamente el título de la ventana que el usuario ingresa.

    Una solución podría ser modificar el código para utilizar la variable target en la función getWindowsWithTitle en lugar de codificar el título de la ventana como 'Command'. Por ejemplo:

    import win32gui
    import time
    from pynput.keyboard import Key, Controller
    import pygetwindow as window
    
    target = input("** El nombre de la instancia es el título cuando se coloca el cursor sobre la aplicación ** \nSeleccionar nombre de la instancia: ")
    handle = window.getWindowsWithTitle(target)[0]
    
    keyboard = Controller()
    handle.activate()
    handle.maximize()
    time.sleep(2)
    keyboard.press('a')
    keyboard.release('a')
    

    Esto permitirá al usuario ingresar el título de la ventana que desee seleccionar y luego utilizar esa entrada para referenciar correctamente la ventana con getWindowsWithTitle.

Comments are closed.