elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  (Python)duda sobre color de texto y captura de teclas.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: (Python)duda sobre color de texto y captura de teclas.  (Leído 4,704 veces)
S3kh

Desconectado Desconectado

Mensajes: 58


Ver Perfil
(Python)duda sobre color de texto y captura de teclas.
« en: 2 Septiembre 2011, 00:42 am »

Qué tal gente, espero que me puedan ayudar. Leyendo en la documentación de Python no encontré módulo alguno que capture las teclas (Se que hay pero no son oficiales). ¿Hay alguna forma de poder capturar teclas sin bajar ningún módulo ni nada? Sólamente por curiosidad. No hace falta que me den links directos ni nada, nada mas díganme si lo hay, porque la verdad no lo encuentro u.u
 
 Busqué si hay algo estándar de PYthon, pero no encuentro. Si se que está termcolor, pero no me funciona en Windows... ¿Tengo que hacerlo por mi mismo? ¿De qué tengo que informarme? Es que quiero darle algo mas de vida a la consola.
 Muchas gracias de antemano.ç

EDIT:
 Ahora encontré una WEB que no me cargaba, habla sobre ctypes. Y da ejemplo de cambio de color. Por lo que veo llama a las APIs de Windows... Me imagino que con esto me va a ser suficiente... Igual, si me pueden orientar un poco mas lo agradecería... :)

EDIT2:
 Acá logré avanzar algo, mirando este código:
Código:
STD_INPUT_HANDLE = -10
STD_OUTPUT_HANDLE= -11
STD_ERROR_HANDLE = -12

FOREGROUND_BLUE = 0x01 # text color contains blue.
FOREGROUND_GREEN= 0x02 # text color contains green.
FOREGROUND_RED  = 0x04 # text color contains red.
FOREGROUND_INTENSITY = 0x08 # text color is intensified.
BACKGROUND_BLUE = 0x10 # background color contains blue.
BACKGROUND_GREEN= 0x20 # background color contains green.
BACKGROUND_RED  = 0x40 # background color contains red.
BACKGROUND_INTENSITY = 0x80 # background color is intensified.

import ctypes

std_out_handle = ctypes.windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE)

def set_color(color, handle=std_out_handle):
    """(color) -> BOOL
    
    Example: set_color(FOREGROUND_GREEN | FOREGROUND_INTENSITY)
    """
    bool = ctypes.windll.kernel32.SetConsoleTextAttribute(handle, color)
    return bool

 Aunque no logro entenderlo, qué hacen exactamente las variables STD_OUTPUT_HANDLE y demás? Se que las otras son para colores, y después por lo visto ctypes.windll.kernel32 es para acceder a una función del kernel32. el identificador 'bool' es obligatorio? Ahora voy a averiguar sobre GetStdHandle, a ver si logro entenderlo u.u

 Alguien que sepa sobre lo de las teclas? n.n

EDIT (numero 500millones): El tema de los códigos hexadecimales, cada dígito hexadecimal corresponde a un número y a un fondo? O 2 dígitos hexadecimales tienen un estándar?
 Según el código, 0x80 intensifica el fondo, pero pruebo y no logro entender que es lo que realmente hace. :\
 


« Última modificación: 2 Septiembre 2011, 01:15 am por S3kh » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
duda sobre captura de video
Multimedia
maxmag 1 1,704 Último mensaje 23 Noviembre 2007, 03:43 am
por Songoku
Duda sobre teclas
Programación Visual Basic
pungados 2 1,421 Último mensaje 21 Diciembre 2007, 20:13 pm
por pungados
[DUDA] Combinación de teclas y cambiar color a textos
Programación C/C++
Ch1n0Cr 1 2,226 Último mensaje 22 Noviembre 2010, 04:15 am
por Beakman
KeyLogger con hooks, no captura las teclas altgr, alt, arroba
Programación Visual Basic
rubenpaz 7 7,086 Último mensaje 3 Julio 2011, 04:30 am
por x64core
[Otra duda con Python] Texto a Binario
Scripting
yujadeh 2 6,206 Último mensaje 10 Octubre 2012, 13:41 pm
por yujadeh
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines