Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1642 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C++] mot de passe et console DOS

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] mot de passe et console DOS

n°1846390
kaillou38
mouton à numéro
Posté le 03-02-2009 à 11:20:05  profilanswer
 

Bonjour,
 
j'ai besoin de protéger très sommairement un logiciel qui fonctionne dans une console DOS.
 
je voudrais qu'il demande un mot de passe, mais que celui ci ne s'affiche pas a l'écran...
 
et je trouve rien la dessus :/
 
si quelqu'un a une idée, merci :)


---------------
ras
mood
Publicité
Posté le 03-02-2009 à 11:20:05  profilanswer
 

n°1846509
kaillou38
mouton à numéro
Posté le 03-02-2009 à 14:43:30  profilanswer
 

personne  [:cerveau zytrasnif]


---------------
ras
n°1848752
youen
Posté le 08-02-2009 à 22:10:51  profilanswer
 

tu peux effacer l'écran après avoir entré le mot de passe en utilisant la commande "cls"
 
Je ne sais pas s'il existe un truc tout fait pour ce que tu cherches.
 
Sinon, tu peux récupérer manuellement les inputs clavier, et afficher toi même des "*" à la place.
 
J'avais écrit ça à une époque :

Code :
  1. char readAsciiConsoleInput()
  2. {
  3.  HANDLE stdIn = GetStdHandle( STD_INPUT_HANDLE );
  4.  ASSERT( stdIn != null_ptr );
  5.  // loop and read input events one by one ; we stop at the first key down event or when the input buffer is empty.
  6.  // notice that we remove all events, this may need to be improved if someone else need these events
  7.  while( true )
  8.  {
  9.   DWORD numInputs = 0;
  10.   BOOL result = GetNumberOfConsoleInputEvents( stdIn, &numInputs );
  11.   ASSERT( result );
  12.   if( numInputs == 0 )
  13.    return 0; // input buffer is empty
  14.   // we read a single input record
  15.   INPUT_RECORD input;
  16.   DWORD numRead;
  17.   result = ReadConsoleInput( stdIn, &input, 1, &numRead );
  18.   ASSERT( result );
  19.   ASSERT( numRead == 1 );
  20.   if( input.EventType == KEY_EVENT )
  21.   {
  22.    KEY_EVENT_RECORD& evt = input.Event.KeyEvent;
  23.    if( evt.bKeyDown && evt.uChar.AsciiChar != 0 ) // we ignore key events that can not be translated in ascii
  24.    {
  25.     return evt.uChar.AsciiChar;
  26.    }
  27.   }
  28.  }
  29. }


 
Ca récupère un caractère depuis l'entrée standard, sans l'afficher ; s'il n'y en a pas ça renvois 0. Tu peux l'appeler en boucle jusqu'à recevoir le caractère de retour à la ligne (touche entrée). J'avais fait ça parce que j'avais besoin de traiter d'autres choses en parallèle, donc je voulais une fonction non bloquante ; il y a sûrement plus simple...

n°1848859
kaillou38
mouton à numéro
Posté le 09-02-2009 à 12:12:32  profilanswer
 

c'est pas mal ça déjà, je devrais pouvoir me débrouiller avec :)
 
merci


---------------
ras

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C++] mot de passe et console DOS

 

Sujets relatifs
Inclure des fichiers en C.Besoin d'aide pour mon prog en C#
[Résolu] Empêcher Ctrl-C et Ctrl-Alt-Fx en Shell Linux[RESOLU] C# - Expression Régulière
Convertisseur en langage Ctypelist et C++Ox
[C#] - Envoi d'email avec variablesIntrospection en C++ ?
Recherche programmer C++ 
Plus de sujets relatifs à : [C++] mot de passe et console DOS


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR