IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Raccourcis clavier en c#


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2018
    Messages : 22
    Par défaut Raccourcis clavier en c#
    Bonjour, je souhaite créer un raccourcis clavier permettant de fermer un processus lors de son freeze, le problème est le suivant :
    Lorsque je suis sur le logiciel il détecte bien que j'utilise la touche associée au raccourcis, mais si je ne suis plus dessus, il détecte plus rien..
    Est-ce possible de faire en sorte qu'il détecte cette touche peu importe si je suis sur le logiciel ou en jeu ou même sur internet ?

  2. #2
    Membre Expert
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 667
    Par défaut
    Bonsoir,

    Oui c'est normal, quand le logiciel n'a plus le focus, il ne checkera pas les raccourcis. Si tu veux capturer les raccourcis n'importe d'ou, c'est un boulot pour Windows.

    Il te faut créer un hook, qui te permettra de surveiller tous les inputs de l'utilisateur, quelle que soit la fenêtre actuelle. Grâce a l'API Win32, c'est relativement facile.

    Un petit début de réponse ici -> Lien.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2018
    Messages : 22
    Par défaut
    cela sera donc détecté comme KeyLogger non ? :/

  4. #4
    Expert confirmé

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 761
    Billets dans le blog
    21
    Par défaut
    Bonjour,

    Oui, il y a de grande chance. Rare sont les applications ayant besoin de cela. Après, il existe des raccourcis globaux (par exemple, les touches multimédia) ou certaines combinaison de touche pour lancer des applications. Je pense donc que l'approche la moins invasive est de créer un programme qui est exécuté par un raccourci global, et ce programme communique ensuite avec ton programme initial.

  5. #5
    Membre Expert
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 667
    Par défaut
    Bonjour,

    Personnellement j'utilises assez souvent des hooks, et même pour des jeux qui ont des protections (et avec un anti-virus qui tourne), donc non tu n'es pas censé avoir de soucis avec ça. Par contre, ça peut signifier de lancer ton programme en administrateur quelques fois.

    Par contre, oui tu peux utiliser des raccourcis globaux si tu as juste besoin de détecter des shortcuts, mais ça ne change rien, il te faudra passer par l'API aussi :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [DllImport("user32.dll")]
    private static extern bool RegisterHotKey(IntPtr hWnd, int id, int fsModifiers, int vk);
     
    [DllImport("user32.dll")]
    private static extern bool UnregisterHotKey(IntPtr hWnd, int id);

    Avec des exemples ici -> Exemple 1 & Exemple 2

    Le hook est peut être un overkill pour ton soucis et RegisterHotKey répondra sûrement a tes besoins.

  6. #6
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Une autre approche serait de vérifier périodiquement si le processus répond toujours ou si il est planté afin de lancé une action automatiquement.
    Il faut analyser le comportement de ton processus car certain peuvent répondre et être planté et inversement.
    https://msdn.microsoft.com/en-us/lib...esponding.aspx

    Tu peux aussi définir une touche de raccourci sur un icône de ton bureau,qui pointerais vers ton programme, ce qui permettrait de déléguer la partis de surveillance de raccourci à Windows.

Discussions similaires

  1. [JTable] Raccourci clavier sur une Table
    Par sylvain_2020 dans le forum Composants
    Réponses: 5
    Dernier message: 05/07/2007, 09h01
  2. désactivation des raccourci clavier
    Par Arnaud-h dans le forum C++Builder
    Réponses: 3
    Dernier message: 16/06/2004, 09h28
  3. [Debutant(e)] Liste raccourcis clavier
    Par lfournial dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 11/05/2004, 14h51
  4. [BPW]Raccourcis clavier dans une fenêtre enfant
    Par Alcatîz dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 18/02/2004, 20h07
  5. [] Raccourci clavier pour bouton d'une barre d'outil
    Par Sébastien dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 24/03/2003, 17h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo