Calificación:
  • 1 voto(s) - 1 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Por que esto no funciona?
#1
Buenas, tengo este script:
Código:
[code]
import ctypes
while 1:
    ctypes.windll.user32.GetAsyncKeyState(18)

[/code]
Lo que hace es saber si la tecla Alt a sido presionada.
Pero cúando quiero ponerlo dentro de una función, este se bugea, quedando en el limbo

Código:
[code]
def getch():
         while 1:
         ctypes.windll.user32.GetAsyncKeyState(18)
[/code]
Se ejecuta la función, y envez de leer la tecla, se queda así, sin hacer nada.
Alguna idea?
Saludos
-konn
Responder
#2
¿Qué es lo que esperás que haga tu código? Es cierto que GetAsyncKeyState() indica si una tecla está siendo presionada, pero no estás haciendo nada con el valor de retorno. Además, usando "while 1" estás creando un bucle infinito, así que es lógico que tu código no salga de ahí una vez que llames a la función.

Saludos

P. D.: Por favor no borres los temas una vez que fueron respondidos, así otras personas con problemas similares pueden acceder a la solución.
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder
#3
while(1):
   if win32api.GetAsyncKeyState(VK_F1):
       print("hola, qué tal?")
   elif win32api.GetAsyncKeyState(VK_ESCAPE):
       break

print("Esto te funcionará.")
Responder
#4
(17-10-2018, 09:05 PM)Aimpost escribió: while(1):
   if win32api.GetAsyncKeyState(VK_F1):
       print("hola, qué tal?")
   elif win32api.GetAsyncKeyState(VK_ESCAPE):
       break

print("Esto te funcionará.")

muchas gracias, pero no puedo usar pywin32.
saludos.
-konn
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)