Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

DÉSACTIVATION CLAVIER ET SOURIS


Information sur la source

Catégorie :API Source .NET ( DotNet ) Classé sous : désactiver, souris, clavier, hook, global Niveau : Initié Date de création : 16/08/2006 Date de mise à jour : 22/08/2006 15:49:41 Vu / téléchargé: 12 293 / 970

Note :
9,4 / 10 - par 5 personnes
9,40 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (26)
Ajouter un commentaire et/ou une note


Description

Cliquez pour voir la capture en taille normale
Désactiver souris et clavier C# / Disable mouse and keyboard C#

J'ai un léger doute sur la réelle utilitée de ce programme, mais comme ça a été demandé sur le forum... et bien je le mets quand même à disposition.
Ce programme permet donc de désactiver la souris et/ou le clavier... j'espère qu'il sera utilisé de manière "saine" et pas pour faire des logiciels douteux.

Voilà, l'idée générale est de faire un hook global pour intercepter clavier et souris.
 

Source

  • private UserActivityHook _gHook = new UserActivityHook();
  • this._gHook.Start(); // Start the process
  • this._gHook.Stop(); // Stop the process
private UserActivityHook _gHook = new UserActivityHook();
this._gHook.Start();	// Start the process
this._gHook.Stop();	// Stop  the process

Conclusion

Je tiens à préciser que ce code est largement inspiré de celui de "pocjoc" que vous pouvez retrouver sur CodeProject :
http://www.codeproject.com/samples/ForTheKids.asp
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

16 août 2006 23:11:38 :
Légère modif' dans la description
17 août 2006 23:46:49 :
Ajout d'une capture
22 août 2006 15:49:41 :
Changement description, mots clefs, ...

Commentaires et avis

signaler à un administrateur
Commentaire de Nikoui le 23/08/2006 15:57:54

Interressant ! Je n'imaginais pas que c'était possible d'aller jusque là... Après comme tu le dis, difficile d'y voir une utilité autre que faire une mauvaise blague (dans le meilleur des cas). Remarque : Chez moi (winXP) la combinaison  Ctrl+Alt+Suppr n'est pas bloquée... (l'OS se garde quand même une petite sécurité ?)

signaler à un administrateur
Commentaire de Bidou le 23/08/2006 19:17:33 administrateur CS

Effectivement, mais tu n'es pas plus avancé car une fois la fenêtre du task manager ouverte, tu ne peux plus rien faire...

signaler à un administrateur
Commentaire de leproc le 28/02/2007 21:04:22

Je vois pas l'intérêt non plus, sauf si on peut désactivé clavier ou souris, mais les 2 à la fois
Bon bah reset quoi.

signaler à un administrateur
Commentaire de leproc le 28/02/2007 21:06:16

En fait je vien de trouver une utilité. Quand un programme p^rend beaucoup de ressource on bloque clavier et souris le temp de l'opération

signaler à un administrateur
Commentaire de Bidou le 01/03/2007 08:46:04 administrateur CS

Salut et merci du commentaire.

J'ai posté ce code à la demande sur le forum...
Il assez facile de l'adapter pour que l'ont puisse choisir si on veut bloquer soit la souris, soit le clavier ;-)

signaler à un administrateur
Commentaire de xxx007xxx le 04/04/2007 06:03:36

Est-ce qu'il block les keys modifier :shift-alt-ctrl?

signaler à un administrateur
Commentaire de Bidou le 04/04/2007 07:50:44 administrateur CS

Non (cf. les deux premiers commentaires)

signaler à un administrateur
Commentaire de Bhaal_DtC le 06/05/2007 17:19:38

Salut,

Je viens de tester cette source et elle est excellente. Le projet marche trés bien mais il n'y a rien a faire je n'arrive pas a l'utiliser cette classe dans un nouveau projet VS2005. Il y a une manip spéciale à faire ou alors je fais ma quiche :o.

signaler à un administrateur
Commentaire de Bidou le 06/05/2007 17:49:41 administrateur CS

Il suffit de créer un object UserActivityHook

private UserActivityHook _gHook = new UserActivityHook();

Puis d'appeler start pour enclencher, ou stop pour arrêter

this._gHook.Start(); // Start the process
this._gHook.Stop(); // Stop  the process

signaler à un administrateur
Commentaire de Bhaal_DtC le 06/05/2007 18:17:40

Bon je suis sauvé, je viens de trouver pourquoi cela ne fonctionne pas. avis aux futurs utilisateurs cela peut aider.
Dans les propriétes de mon projet, au niveau de l'onglet debug j'ai du décocher "Enable the Visual Studio hosting process".
Si quelqu'un peu me dire à quoi cela sert en temps normal je suis prenneur :)

signaler à un administrateur
Commentaire de Bidou le 11/05/2007 08:58:38 administrateur CS

http://msdn2.microsoft.com/en-us/library/ms185330(VS.80).aspx

signaler à un administrateur
Commentaire de lording le 06/06/2007 13:17:28

Messieurs,

Je viens de trouver une utilité importante au code.
Il s'agit de détecter une vitesse GPS (dans le cas d'une utilisation en voiture) et de bloquer l'accès au clavier souris si on roule a une vitesse supérieure a 30km.
Des lors on évite ainsi des accidents graves.
Si la vitesse gps est + de 30km/h clavier souris bloquer si la vitesse gps est moins de30km/h le  clavier et la souris sont a nouveau actif.
Voila. Super code en bref et non pas a but douteux lol (enfin pour ma part) !!!!!
Il y a juste qu'il serait intéressent d'ajouter la version compilé.


signaler à un administrateur
Commentaire de Renfield le 06/06/2007 13:41:05 administrateur CS

trop radical...
m'arrive de bidouiller mon GPS sur l'autoroute, même...

sans compter qu'il peut y avoir un "co-pilote" ^^

signaler à un administrateur
Commentaire de Nikoui le 06/06/2007 14:10:14

Et dans ce cas, autant être logique et bloquer l'utilisation clavier/souris dès que le véhicule est en mouvement...

signaler à un administrateur
Commentaire de lording le 06/06/2007 15:45:16

Les valeur vitesse GPS ne sont pas fixe et donc il se peut que le véhicule ne bouge pas et pourtant le gps envoi une vitesse de déplacement (tout dépends du type de GPS utilisé et du nombre de satelites réceptionner).
Il est vrai que 30km/h est large, mais prennons 10km, car si on fait des testes en étant a pieds il ne doit pas se bloquer.
Uniquement si la vitesse de déplacement est supérieure a la vitesse de marche.
Voila tout.

signaler à un administrateur
Commentaire de Bidou le 06/06/2007 17:11:12 administrateur CS

Tant mieux si vous trouvez des cas d'utilisations utiles ^^
Pour l'exe, je ne l'ai pas ajouté car en l'état, le programme ne sert à rien sauf à faire ch*er le monde ;-)

signaler à un administrateur
Commentaire de Renfield le 07/06/2007 00:47:44 administrateur CS

pi comme je l'ai dit plus haut, rien n'empeche le passager de regler le GPS...alors meme que le vehicule bouge

signaler à un administrateur
Commentaire de sylvafilms le 05/07/2007 20:49:05

Bonjour, et merci pour ce code vraiment très utile dans mon cas car je suis en train de faire un programme ou meme si on appuye sur les touches du clavier avant d'arriver a la saisie d'un code par un scanf() ou gets(), et bien les touches que l'on a appuyé précédement ne doivent pas aparaitre. (car windows se rapelle de nos actions et déballe toutes les touches d'un coup qu'on a tapé quand arrive le scanf.

Donc le seul moyen que je connais dans mon cas est de verrouiller le clavier.

Seulement voila, je n'arrive pas a faire fonctionner ce code.
Je suis débutant dans le domaine.
Si Mr le créateur pouvait m'aider ce serait vraiment en le remerciant! :)

J'ai fait un programme de test vite fait pour tester le code:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
// début du programme de test

private UserActivityHook _gHook = new UserActivityHook();

this._gHook.Start(); // Start the process
sleep(5000) // c'est a ce moment que j'appuye sur les touches du clavier
this._gHook.Stop(); // Stop the process

printf("press key");
getch(); // la le programme ne doit pas passer le getch()si je n'appuye pas sur une touche,
// puisque le clavier était verouillé lors de la frappe pendant le sleep(5000)


// fin du programme de test
printf ("\n\n\n\nPROGRAMME TERMINE");
getch();
return 0;
}

Donc voila, je vous serait très reconnaissant si un codeur pouvait m'expliquer comment faire marcher ce code.

Merci d'avance, et bonne continuations a tous!

signaler à un administrateur
Commentaire de Bidou le 05/07/2007 21:15:28 administrateur CS

Euh, ce code c'est du C#, pas du C!
Rien avoir :-/

signaler à un administrateur
Commentaire de sylvafilms le 05/07/2007 23:15:34

C'est a dire, il y a le language C et C# ?

Quand tu dis C#, tu veux dire C++ ?

Saurait tu comment créer le meme type de code en C ?

Merci d'avance.

signaler à un administrateur
Commentaire de Bidou le 06/07/2007 08:09:47 administrateur CS

Non ça n'a rien avoir, C, C++ et C# c'est différent (surtout pour le dernier).
Et ici, tu es sur csharpfr.com, où on fait du C# (cSharp).
Pour le C/C++ tu peux aller ici: www.cppfrance.com

signaler à un administrateur
Commentaire de sylvafilms le 06/07/2007 20:04:18

Merci bidou !

signaler à un administrateur
Commentaire de panterga le 15/12/2007 18:36:32

j'ai une utilité
si vous utilisez un scanner sur un pda  et que quelqu'un appui sur le clavier avant de scanner vous risquez d'avoir une lecture erronée .

signaler à un administrateur
Commentaire de nico9111 le 29/03/2008 16:05:16

Dans le cas précis de la désactivation ça peut se faire sans hook :
[DllImport("user32.dll")]
static extern bool BlockInput(bool fBlockIt);

BlockInput(true); -> désactive
BlockInput(false); -> réactive

Ça renvoie true si ça réussit, sinon false; un Ctrl+Alt+Suppr suffit à réactiver, sinon le seul thread qui peut réactiver est celui qui a désactivé.

signaler à un administrateur
Commentaire de xavtak le 12/08/2008 15:44:49 10/10

Merci !!
C'est presque exactement ce que je cherchais, pour laisser ma fille (11 mois :D ) jouer avec l'ordinateur (à son âge, elle veut surtout faire comme papa-maman) sans avoir peur du "suppr" malencontreux ^^

J'ai juste modifié un peu le code pour qu'il se lance sans limite de temps, mais s'arrête si on tape 4 fois de suite la touche <alt gr>. Et j'ai aussi laissé le mouvement de la souris (pas les clics) pour qu'elle voie que ça bouge :)

Le source est suffisamment clair pour que ces modifs ne m'aient pas pris plus d'une heure ! Bien joué :)

signaler à un administrateur
Commentaire de cris27 le 19/09/2008 15:00:07 10/10

Merci beaucoup ,

Je me sert de ce code pour vérouiller des pc de supervision industrielle .

Trés bonne source

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Simulation clavier/souris [ par Ordinastie ] Bonjour.Voial, mon but est de simuler l'appui d'une touche ou d'un s&#233;quence de touches du clavier.M'&#233;tant pench&#233; du cot&#233; de l'API Récuperer evenement click Souris - Hook [ par boutnell ] Bonjour,Je voudrais pouvoir connaitre, a chaque instant et sur chaque programme qui tourne, si l'utilisateur click sur sa souris.Par exemple,&nbsp;aff Bloquer la souris et le clavier [ par sayed2005 ] je cherche comment bloquer la souris et le clavier d'un PC,a l'instar de NetS Hook : Erreur sur traitement partiel [ par Yxion ] Salut tous le monde,Je suis en train de me prendre la tête sur le WebBrowser ...J'aimerais prendre pocéssion des cliques souris : gauche, milieu et dr [Souris et Clavier] [ par KqMii ] Bonjours, J'aimerais savoir comment je pourais par exemple quand j'appuis sur la touche F4 cela simule un clic souris et Quand j'appuis sur F3 Cela et problème de gestion de clavier et de souris [ par brunhoff ] bonjour dans un programme j'utilise un clavier visuel et l'utilisation du clavier "physique" pour pouvoir jouer &#224; 2 mais d&#232;s que je clique s Hook clavier [ par Mr.X ] Bonjours.J'ai essayer de réaliser un programme pour faire un hook du clavier plus particulièrement de la combinaison "Control+C". J'ai essayer ce code Récupérer positions souris et frappes clavier [ par guillaume_quest ] Bonjour à tous, Je voudais connaître une fonction qui permet de récupérer la position de ma souris par rapport au haut de la fenêtre (ou en haut de ma Hook souris [ par Ond9 ] Bonjours à tous.Je cherche à recupèrer le click gauche de ma souris n'importe ou sur l'écrant et dans n'importe quel application,d'après ce que j'ai c comment crée un raccourcie a un form [ par sws2007 ] Bonjour tout le monde je veux savoir coment crée un raccourcie clavier vers une autre form en cliquant sur un bouton du clavier avec c# par exemple


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,359 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.