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 !

Sujet : Hook clavier [ Système / Autre ] (Mr.X)

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é 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 usage des tooltips [ par olibara ] Bonjour J'aimerais mettre des tooltips sur differents control - GroupBox- Combobox- Button Mais je n'ai pas réussi par la doc a comprendre comme [DEPLACE] ASP.NET : Evenements clavier [ par Devlop001 ] Bonjour, J'aimerais bien que quelqu'un m'indique comment programmer un événements clavier sur une page aspx. exemple: cliquer sur la touche Entrer lor WebBrowser control - HttpContext ? [ par Gendal67 ] Bonjour à tous,J'ai un petit souci et je viens solliciter votre aide, en espérant que quelqu'un ait une solution.Voilà, je développe une application u Les user control dans un site [ par ranouf ] Peut on mettre un user control dans un site web ? Merci hook menu [ par khadidjamina ] comment j'installe un hook globale du menu, pour que je puisse récupérer les action effectue sur le menu dans un navigateur web click de souris [ par soussous78 ] Bonjour a tous,J'ai un petit problème sur c#Je recherche comment simuler un clic de souris..Je m'explique :J'ai une application qui déplace la souris Probleme d'affichage d'un user control [ par taulard ] Bonjour, Premièrement voici le lien de ma source qui me pose un problème : http://regis.10gbfreehost.com/source/Boutonnerie.zip Le problème que j


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
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é.