Funcion GetAsynKeyState en C

Iniciado por mester, 14 Mayo 2015, 22:51 PM

0 Miembros y 1 Visitante están viendo este tema.

mester

Hola.
Como mi ordenador no posee ningún led que me indique si tengo las mayúsculas bloqueadas o desbloqueadas querría hacer un programa para que cada vez que las active o desactive me salga una indicacion para saber si lo esta o no. Resulta que he encontrado la funcion GetAsynKeyState pero no consigo que compile. Me gustaría saber como funciona ésta.
He probado:

if(GetAsynKeyState(VK_CAPITAL)>0)
printf("Mayúsculas activadas");
else
printf("Mayúsculas desactivadas");

Es un pequeño ejemplo para que vean mas o menos por donde voy. Solo he encontrado gente que la usa en C++, y como no se C++ xd

Justicia es dar a cada uno lo que se merece

Eternal Idol

Esta mal escrita, es GetAsyncKeyState. La API de Windows esta escrita para C, solo tenes que incluir windows.h y enlazar con user32.lib como indica la documentacion.

GetAsyncKeyState function
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

mester

Cita de: Eternal Idol en 14 Mayo 2015, 22:55 PM
Esta mal escrita, es GetAsyncKeyState. La API de Windows esta escrita para C, solo tenes que incluir windows.h y enlazar con user32.lib como indica la documentacion.

GetAsyncKeyState function
NO ME LO CREO XDDDD
Muchísimas gracias jeje que error más tonto jeje, ya esta xd gracias
Justicia es dar a cada uno lo que se merece

Eternal Idol

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

x64core

Solo una cosa, GetAsyncKeyState retorna un valor para saber si la tecla es fue/esta siendo presionada y no devuelve el estado de la tecla, para obtener el estado se puede usar GetKeyState https://msdn.microsoft.com/en-us/library/windows/desktop/ms646301%28v=vs.85%29.aspx el problema con esta funcion es que recupera el estado de teclas del hilo, asi que mejor seria hacer una combinacion de ambas funciones.