begin process at 2010 02 10 01:44:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Système

 > 

Autre

 > 

Hook clavier


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Hook clavier

samedi 1 septembre 2007 à 21:21:53 | Hook clavier

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 :

        private void MyKeyPress(object sender, KeyPressEventArgs e)
        {
            if (((Control.ModifierKeys & Keys.Control) == Keys.Control) && (e.KeyChar == (char)Keys.C))
            {
                // ....
            }
        }

Cependant cela ne fonctionne pas. Si je remplace Keys.Control par Keys.Shift, l'utilisation du code se fait sans problème. Ma question est : Est-il possible de récupéré la combinaison de touche "Control+C" ?

samedi 1 septembre 2007 à 23:57:38 | Re : Hook clavier

Lutinore

Administrateur CodeS-SourceS

Salut, ce n'est pas vraimment ce qu'on appelle un hook.. et certains contrôles peuvent interprétés la combinaisons Ctrl+C.



protected override void OnKeyDown( KeyEventArgs e )
{
    //base.OnKeyDown( e );

    if ( e.KeyCode == Keys.C && e.Modifiers == Keys.Control )
        MessageBox.Show( "Ctrl+C" );
}

dimanche 2 septembre 2007 à 01:23:11 | Re : Hook clavier

Mr.X

Ce que j'utilise est bien un hook c'est certain. Je doit récupéré les touches du clavier sans focus sur mon appli c'est donc bien la méthode à utiliser.

J'ai remplacer la méthode par :
       private void MyKeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.C && e.Modifiers == Keys.Control)
            {
                // ...
            }
        }

Mais le resultat est le même.
dimanche 2 septembre 2007 à 01:30:41 | Re : Hook clavier

coq

Administrateur CodeS-SourceS
Salut,

Aucune des méthodes citées ici ne repose sur des hook.
D'ailleurs pour ce que tu veux faire tu n'as peut être pas besoin de passer par un hook, jette un oeil à la source de seb : http://www.csharpfr.com/codes/CREEZ-VOS-PROPRES-RACCOURCIS-CLAVIER-NIVEAU-SYSTEME_33196.aspx

Dans le cas contraire il faudrat probablement regarder du côté de WH_KEYBOARD_LL.


/*
coq
MVP Visual C#
CoqBlog
*/
dimanche 2 septembre 2007 à 01:46:51 | Re : Hook clavier

Mr.X

Je me suis basé sur ce code http://www.codeproject.com/csharp/globalhook.asp
donc si sa n'est pas un hook ...
dimanche 2 septembre 2007 à 01:47:40 | Re : Hook clavier

Mr.X

En tout cas merci pour ce lien coq. Je vais me pencher dessus.
dimanche 2 septembre 2007 à 02:08:03 | Re : Hook clavier

coq

Administrateur CodeS-SourceS
Réponse acceptée !
Telle qu'est posée ta question, ça laisse plus penser à un event KeyPress standard qu'à un hook :-)
Le lien que tu donnes concerne effectivement un hook, et la réponse à la non détection de Control figure peut être dans la section FAQ de l'article.



/*
coq
MVP Visual C#
CoqBlog
*/
dimanche 2 septembre 2007 à 02:29:12 | Re : Hook clavier

Mr.X

Je débute en C# (enfait c'est mon premier code) et je ne savais pas que les fonctions que javais montré pouvais être lié à autre chose qu'un hook clavier (même si javais pu m'en douter).
Une chose est sur, j'ai appris un truck aujourd'hui : Toujours lire les faq jusqu'au BOUT. Même si c'est en anglais.

Merci coq.
dimanche 2 septembre 2007 à 08:19:40 | Re : Hook clavier

Lutinore

Administrateur CodeS-SourceS
Tiens Coq à 2h du mat.
dimanche 2 septembre 2007 à 09:49:16 | Re : Hook clavier

coq

Administrateur CodeS-SourceS
Voui, mais ça fait mal le lendemain :p

Les events "standards" du genre KeyPress etc sont en général levés lors du traitement des messages Windows par la méthode WndProc (équivalent de WindowProc) du contrôle. Mais elle ne traite que les messages qu'elle recoit, et qui lui sont donc destiné (ou que la "fenêtre" à demander à recevoir, via des choses comme RegisterHotkey par exemple).
Enfin, si tu as fait de la prog Win32 en C/C++ tu dois mieux maitriser ce sujet que moi.


/*
coq
MVP Visual C#
CoqBlog
*/


Cette discussion est classée dans : control, clavier, essayer, hook, keys


Répondre à ce message

Sujets en rapport avec ce message

capslock [ par cudenetf ] bonjour,je voudrais pouvoir activer automatiquement les majuscule ssur certains formulairesj'ai essayé            if (!Control.IsKeyLocked(Keys.CapsLo problème de sauvegarde [ par soussous78 ] Bonjour tout le mondeJe suis bloqué sur une application c#.Je voudrais savoir si il y a une possibilité de sauvegarder un objet pour pouvoir l'utilise Hook Clavier bloquage [ par JFK30 ] Bonjour je viens de voir la source de damned3. Le hook"monopolise le clavier" et résultat il ne tape plus rien. je voudrais savoir comment empêcher ce AJAX CONTROL TOOLKIT [ par 76julien ] Bonjour a tous, je souhaite télécharger AJAX control toolkit mais rien n'y fait. Quelqu'un peut-il m'indiquer une autre adresse que CodePlex car la je Problem avec l'Activex Vivotek RTSPVaPg [ par gouranos ] Bonjour, j'ai crée une simple Widows Form sous C#, le but est de pouvoir lire le flux video d'une camera IP Pan/Tilt Vivotek 7135. L'Activex RTS empecher redimensionnent en hauteur [ par jokary64 ] bonjour, Je voudrais refaire une textbox (pour y ajouter du controle de saisie, etc..). Pour cela j'ai créer un usercontrol et coller une textBox à utiliser des control creer sous winforms en WPF [ par Mimo11 ] Bonjour a tous j'ai suis entrein de réaliser une application avec WPF et j'aimerai utiliser des control que j'ai déja creer avec winforms, y'a t'il UserControl [ par levotre123 ] Bonjour a tous je suis en train de developper une application de Getion d'Inscription des elves dasn une ecole en C# Voila il y a bon nombre des qu Problème de reconnaissance des touches du clavier [ par Noxalus ] Salut à tous ! :) Je suis en train de réaliser un petit snake en mode console en C# pour m'entrainer et mieux maîtriser ce langage. Seulement, lorsqu désactiver Keys.Apps [ par babe59 ] Bonjour, 1° Comment puis désactiver la touche Key.Apps (menu contextuel) ? 2° Je gère l'état de mes items dans mon menu contectuel à partir de la m


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 8,471 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales