Bloquer la fermeture d'un programme en mode console ( C++ )
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Bloquer la fermeture d'un programme en mode console ( C++ )



  1. #1
    Fred des montagnes

    Post Bloquer la fermeture d'un programme en mode console ( C++ )


    ------

    Bonjour à tous!!

    Pour entrer dans le vif du sujet, j'ai fait un driver de communication (protocole industriel) sous windows server 2008, qui doit fonctionner en permanence sur un server. Le problème est que j'aimerai empêcher qu'un utilisateur (ayant pris peur: aaahh une console m'attaque!!1) puisse fermer la console du programme. J'ai réussi à "griser" la petite croix rouge en haut à droite (avec les fonctions "EnableMenuItem(...)" et "DrawMenuBar(...)" de l'api windows) mais il est toujours possible de fermer la console via la barre des tâche...

    Est-ce que quelqu'un à une solution?? Merci d'avance!

    -----

  2. #2
    invite4492c379

    Re : Bloquer la fermeture d'un programme en mode console ( C++ )

    Salut,

    tu as une API pour la barre des tâches ... tu peux ne pas la faire apparaître dedans ?

    tu gardes la console pour faire output log ? TU as utilisé quel env de prog ?

  3. #3
    Fred des montagnes

    Re : Bloquer la fermeture d'un programme en mode console ( C++ )

    Salut,

    Alors j'ai développé l'application sur visual studio 2010. Et oui, j'aimerai garder la console, pour visualiser les échanges avec le serveur. En fait cette application fait le pont pour le contrôle à distance d'une installation, alors j'aimerais pas que le premier venu (ouvrier de la maintenance) puisse fermer la console (souvent par réflexe). Euh non, je n'ai pas utilisé d'api pour la barre des tâches... les fonctions que j'ai utilisés proviennent du <window.h>.

  4. #4
    invite4492c379

    Re : Bloquer la fermeture d'un programme en mode console ( C++ )

    Bon une solution simple (enfin ça dépend de l'implémentation aussi) serait de ne pas utiliser la console mais par exemple rediriger les sortie vers un fichier, voire vers l'eventlog ?

    sinon pour l'api windows pour la taskbar 2008/w7 faudrait jeter un coup d'œil sur msdn.

  5. A voir en vidéo sur Futura
  6. #5
    Fred des montagnes

    Re : Bloquer la fermeture d'un programme en mode console ( C++ )

    Salut,

    En fait je souhaite garder la console, cela permet de voir que tout fonctionne au premier coup d'oeil. J'ai déjà un fichier de log de tout ce qui se passe, pour analyser plus en détails la communication en cas de problèmes. Sinon j'ai vu qu'il y avait la fonction "FreeConsole()" qui permet de cacher la console, mais c'est pas ce que je cherche.. Je vais continué mes investigations!

  7. #6
    invite4492c379


  8. #7
    Garlik

    Re : Bloquer la fermeture d'un programme en mode console ( C++ )

    Quelques remarques. Tout d'abord, si ca s'exécute dans le contexte de l'utilisateur en cours, ce n'est pas un driver mais un simple programme en mode utilisateur, vu qu'un driver s'exécute en mode noyau sous Windows (en tout cas le plus souvent).

    Bref, la première erreur est sans doute ici; si tu ne souhaites pas que ton programme soit interrompu par l'utilisateur, il aurait fallu coder un service Windows et pas un simple programme.

    Pour ma part, j'aurais fais la chose suivante:
    - codage d'un service Windows se lancant au démarrage et redirection des sorties dans un Pipe.
    - Si la programmation d'un service vous fait peur, une simple application Win32 qui ne crée aucune fenêtre suffit amplement, mais il faudra gérer la facon de l'interrompre:

    Code:
    int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) {
      //
      // Inserer votre code ici
      //
    	return 0;
    }
    - codage d'une application Windows, affichant une fenetre dans laquelle on recopie tous les messages en provenance de ce pipe.

    => du coup, on peut ouvrir et fermer cette application sans risquer de terminer le programme de communication de manière impromptue.

Discussions similaires

  1. Bloquer un programme quand un autre accède à Internet
    Par invitea3fc981a dans le forum Internet - Réseau - Sécurité générale
    Réponses: 1
    Dernier message: 16/06/2007, 21h52
  2. ma machine à laver est bloquer sur un programme bizzar
    Par invite7faa7ab7 dans le forum Dépannage
    Réponses: 1
    Dernier message: 01/04/2006, 11h53
  3. TV Thomson bloquer en mode hotel
    Par invite9da4ec94 dans le forum Dépannage
    Réponses: 13
    Dernier message: 15/03/2006, 20h47
  4. cherche commande en mode console linux
    Par invitebf7e527b dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 02/12/2005, 13h09
  5. fermeture programme
    Par invite2927189f dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 23/03/2005, 19h28