Empêcher une console de s'afficher

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour.

Comment peut-on empêcher la console de s'afficher lors de l'éxecution d'un programme C ?
Même s'il n'y a aucun printf ou autre flux sortant, il y a tout de même une console vide qui s'affiche jusqu'à la fin du programme.
Est-il possible d'exécuter le programme en arrière plan, sans qu'aucune console soit visible ?

Merci.

<\EchoIsON>

2 réponses

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Bonjour,

    Le mieux serait de passer en mode graphique.
    Vu que tu es sur Windows a priori, un truc du genre devrait marcher :
    #include <windows.h>
    [...]
    HWND handle=GetForegroundWindow();
    ShowWindow(handle,SW_HIDE);
    

    0
    1. Utilisateur anonyme
       
      Bonjour.

      Merci, mais le problème est toujours présent... Une console s'affiche, bien que très furtivement, mais s'affiche tout de même.
      0
  2. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Bonjour,
    Il faut passer en mode graphique alors (Qt, etc.)

    --
    0
    1. Utilisateur anonyme
       
      Ce n'est pas possible autrement ? J'ai essayé certaines choses comme FreeConsole(); mais le résultat est le même.
      Certains disent qu'il suffit d'ouvrir un projet win32 sans console, mais je ne sais pas comment le faire...
      Ou alors peut-on executer le programme en tant que service windows ?
      0
    2. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
       
      pourquoi veux-tu faire cela stp.
      0
    3. Utilisateur anonyme
       
      J'ai crée un programme C modifiant le contenu des fichiers d'un répértoire ciblé, par exemple modifier le contenu de 5 fichiers txt différents pour le remplacer avec celui d'un fichier source.
      Cependant, dans de très grands répértoires, la console (vide) reste affichée longtemps jusqu'à la fin de l'opération et cela me dérange, tout simplement...
      Avec FreeConsole() ou le code de fiddy, la console disparait presque instantanément, mais s'affiche tout de même, donc à la limite ce n'est pas grave, mais cela m'arrangerait si je pouvais aller plus loin jusqu'à la faire disparaitre totalement (enfin, ne pas la faire apparaitre).

      PS : le code en question ressemble beaucoup à celui que j'ai publié dans ce sujet :
      https://forums.commentcamarche.net/forum/affich-33235643-probleme-avec-le-nom-d-executable

      A la difference que le programme dont il est question n'affiche rien, et a un autre but, donc la console est inutile
      0
    4. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Bonjour,

      La réponse ne va pas te convenir, mais cela ne sera pas si simple. Il faut programmer en mode graphique comme win32 par exemple, mais aussi Qt, etc.
      Pas mal de choses seront donc à revoir (printf(), getch(), etc.).
      Pour programmer avec win32, https://openclassrooms.com/courses/apprentissage-de-l-api-windows
      Bon courage.
      0
    5. Utilisateur anonyme
       
      Merci pour ce lien. Je considère le sujet résolu.
      0