Bloquer la consol en C

Fermé
lucas01 Messages postés 1835 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 15 octobre 2014 - 30 oct. 2009 à 17:22
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 14 nov. 2009 à 15:13
Bonjour,
je suis sur notepad++ et je compil avec l'invité de comande... Bref


Je veut que quand un utilistaeur ouvre mon programme (ce programme fait pour bloquer l'ordinateur avec un mot de passe), il ne puisse rien faire du tout a part taper le mot de passe.

Je vous remercie de vos propositions.

Pour ce qui veule voir mon code.

#include <stdio.h>


int main()
{
int code = 4558, cde=0;

printf("Entrer votre code s'il vous plait .");



do
{
scanf("%d", &cde);
if (cde != code)
printf("Entrer votre code s'il vous plait .");

else
printf("Ok, vous etes autoriser.");
}
while (cde != code);
}

10 réponses

Toi tu vien d'apprendre la programmation en C

Je te conseille d'utiliser une Librairie du style SDL


comme sa une fenetre mode Pleine ecran impossible a quitter si l'utilisateur n'a pas taper son mot de passe

Et je te conseille de prendre un IDE : Code::blocks

Tien un bon tuto qui reprend les base du C et aussi la SDL

https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c
0
N'importe quoi !
C'est gonflant cette pub pour ce site à la C.N qu'est le siteduzero.
Et qu'est-ce que vient faire SDL , dont comme par hasard ce site de M....E fait la pub à outrance, ici ?
Le C n'a rien à voir avec SDL !
Personne n'utilise SDL sur le marché, les consultants ne sont pas des gamins de 10 ans comme sur ce site !
0
nico.laures
30 oct. 2009 à 18:23
C'est ahurissant de lire des réponses pareilles, où tout est FAUX.

SDL pour un prog console C de base, non mais franchement, tu te moques de qui ?
Code::Blocks, mais bien sur, pourquoi pas Dev C++ tant qu'on y est.
Et le site sdz, c'est effectivement gonflant d'envoyer vers un site commercial aussi lamentable ou il n'y a que des débilités.
La preuve, vu tes réponses dignes d'un débutant complet...
0
lucas01 Messages postés 1835 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 15 octobre 2014 102
30 oct. 2009 à 20:00
En effet je vais sur le site du 0 pour apprendre, ET j'apprend toujours car la programmation m'intéresse... Donc merci a vous tous mais je le répète,

SI C'EST POUR METTRE N'IMPORTE QUOI EN REPONSE, ALORS GARDEZ LES POUR VOUS ! ! !

Bien evidament je ne parle pas de nico, marc ... Mais soyez serieux ! ! !
Au lieu de vous prendre la tête aidez moi, svp ! ! ! Mais si vous m'aidez en m'envoyant des les "débil" (pardonnez moi) que tout le monde cannaient! ! ! Franchement, alors a quoi bon venir sur [/ CCM] ?

En tous cas, merci quand même.

Encore une foie, merci de vos propositions !
0
lucas01 Messages postés 1835 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 15 octobre 2014 102
31 oct. 2009 à 01:17
PS; j'apprends avec la console (invité de commande ! !!)
0
pacorabanix
31 oct. 2009 à 01:27
petite note : c'est un forum public, ccm n'envoie personne ;) c'est que des purs volontaires. (et c'est vrai que certains devraient éviter de répondre ... )

un bon forum où tu n'auras pas ce genre de réponses à la loose (enfin si quand même , mais moins ^^) est developpez.net, forum tenu et animé surtout par de vrais pros. (Il y en a aussi plein d'autres mais je ne les connais pas...)

concernant ta question, il faut quand même rappeler que à priori, bloquer le système est difficile, car un OS correctement conçu est quand même censé laisser une porte de sortie (comme ctrl alt suppr...) en cas de soucis de blocage non voulu avec un logiciel.

Pour vraiment bloquer l'utilisateur il faut toucher à la configuration de l'OS qui prévoit de telles choses dans le cadre d'un réseau d'entreprise ou de cybercafé par exemple). Bref, je ne veux pas m'étendre sur le sujet, mais a priori si tu apprends à programmer c'est quelque chose qui me semble très technique et difficile pour toi. (Mais c'est possible bien sûr). Et en effet il serait peut-être plus judicieux, tout de même, d'apprendre un autre langage que le c pur pour pouvoir ainsi utiliser plus agréablement les API du système (comme windows).


Bonne chance et bonne continuation.
0
pacorabanix
31 oct. 2009 à 01:30
et petite remarque : si ton but n'est pas juste d'essayer qqchose pour apprendre à programmer, mais bien de bloquer ton ordinateur par mot de passe lorsque tu t'en absente, il y a l'option protection par mot de passe de l'économiseur d'écran de windows, couplée à un raccourci pour le lancer cela remplit parfaitement ce rôle... mais je pense que c'était juste pour programmer non ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lucas01 Messages postés 1835 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 15 octobre 2014 102
14 nov. 2009 à 09:57
non mon but est d'apprendre. Et non pas de bloquer l'ordinateur. Donc ma question est comment faire? Car je ne trouve pas. MERCI DE VOS RéPONSES! ! !
0
DrCrow Messages postés 387 Date d'inscription lundi 9 novembre 2009 Statut Membre Dernière intervention 20 août 2014 19
14 nov. 2009 à 10:13
j'ai fait un petit prog comme le tiens, mais il avait un defaut.
Baaah, j'ai fait en sorte un programme d'identification :pp.
Tu entre le UserName puis Le pass et le Programe verifie, sinon, il "Auto-Shutdown." s'etient automatique apré X nb d'essaie a l'aide d'une commande, (ma console était en mode plein écran pour empecher d'utiliser la barre de tache ou autre truc, mais le prob lorsque on appyue sur Alt-Esc, le programme se minimise, donc , c'est plus protéger :pp.
0
DrCrow Messages postés 387 Date d'inscription lundi 9 novembre 2009 Statut Membre Dernière intervention 20 août 2014 19
14 nov. 2009 à 10:13
j'ai fait un petit prog comme le tiens, mais il avait un defaut.
Baaah, j'ai fait en sorte un programme d'identification :pp.
Tu entre le UserName puis Le pass et le Programe verifie, sinon, il "Auto-Shutdown." s'etient automatique apré X nb d'essaie a l'aide d'une commande, (ma console était en mode plein écran pour empecher d'utiliser la barre de tache ou autre truc, mais le prob lorsque on appyue sur Alt-Esc, le programme se minimise, donc , c'est plus protéger :pp.
0
lucas01 Messages postés 1835 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 15 octobre 2014 102
14 nov. 2009 à 14:24
Bah oui mais justement, je veut BLOQUER la console pour justement ne pas que l'utilisateur suivant puisse ce servir de l'ordinateur.
0
DrCrow Messages postés 387 Date d'inscription lundi 9 novembre 2009 Statut Membre Dernière intervention 20 août 2014 19
14 nov. 2009 à 14:36
ceci, je coné pas, dsl..
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 840
14 nov. 2009 à 15:13
Salut,

Pour bloquer certaines touches, tu dois interagir avec le kernel. Rien de natif. Pour cela, tu vas devoir réaliser un hook clavier pour intercepter les touches de bas niveau en utilisant l'API SetWindowsHookEx.
Voici la documentation qui va bien : https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setwindowshookexa?redirectedfrom=MSDN
L'idHook vaudra WH_KEYBOARD_LL.
Dans la fonction callback, si wParam vaut WM_KEYDOWN et lParam (à caster en KBDLLHOOKSTRUCT*) qui est une structure a son vkCode qui VK_ESCAPE (touche escape), alors en renvoyant 1 tu empêcheras l'utilisation de la touche escape. Dans MSDN tu trouveras les autres constantes.

Bien sûr, il ne faudra pas oublier l'API UnhookWindowsHookEx pour déshooker le clavier lorsque l'utilisateur aura tapé le bon mot de passe.

Cdlt.
0