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

Langage Delphi Discussion :

Détection évènement clavier


Sujet :

Langage Delphi

  1. #1
    Membre régulier
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 122
    Points : 98
    Points
    98
    Par défaut Détection évènement clavier
    Bonjour,

    j'ai un programme lorsqu'on le minimize il est totalement caché c'est à dire qu'on le vois ni dans la barre windows ni dans la barre des tâches à coté de l'horloge. J'aimerais lorsqu'on appuie sur une certaine touche que l'application réapparaisse au premier plan. Seulement je n'y arrive pas comme l'application n'a plus le focus impossible d'avoir un évènement KeyUp ou autre.

    Comment puis - je faire ?

  2. #2
    Membre émérite
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 496
    Points : 2 762
    Points
    2 762
    Billets dans le blog
    10
    Par défaut
    Il existe peut-être un moyen mais il faudrait poser ta question sur un forum dédié au systèmes d'exploitation.
    L'autre moyen est de créer une application qui vienne s'intercaler entre le système d'exploitation et ton appli. Je l'ai déjà fait mais c'est complexe.

  3. #3
    Membre régulier
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 122
    Points : 98
    Points
    98
    Par défaut
    il n'y a aucune façon plus simple de faire ce que je veux ?

  4. #4
    Membre expérimenté
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Points : 1 307
    Points
    1 307
    Par défaut
    Pour le même genre d'utilisation j'utilise le composant HotKeyManager disponible sur cette page.

    Il est très facile a utiliser, bien documenter et y'a des exemples pour apprendre à l'utiliser.
    Ce que l'on apprend par l'effort reste toujours ancré plus longtemps...

  5. #5
    Membre régulier
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 122
    Points : 98
    Points
    98
    Par défaut
    merci je vais regarder ça.

    Sinon il doit bien exister une manière sans ajouter de composant non ?

  6. #6
    Membre expérimenté
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Points : 1 307
    Points
    1 307
    Par défaut
    Ben si, forcément c'est possible sans installer de composant.

    Plonge toi dans les sources de THotKeyManager pour trouver les parties qui t'intéresse si tu ne souhaite pas installer le composant.
    Ce que l'on apprend par l'effort reste toujours ancré plus longtemps...

  7. #7
    Membre à l'essai
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 31

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 21
    Points : 20
    Points
    20
    Par défaut
    Bon voila une petite solution :

    Pour la cacher c'est simple; Voila:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    procedure TForm1.Form1KeyPress(Sender: TObject, Key: Char);
    begin
    if Key = Chr(VK_Space) then 
    {exemple de la touche espace tu peux choisir d'autre touches si tu veux}
        begin
            { 1- Pour cacher l'application de la barre des 
             taches et du Gestionnaire des taches }
            Showwindow(Application.Handle, 0);
    
           {2- Pour cacher l'application de l'écran}
           Showwindow(Application.MainFormHandle, 0);       
        end;
    end;
    Pour la afficher une autre , tu dois créer un keylogger pour recevoir les évènements du clavier, et quand ce keylogger reçois le bon évènement du clavier , il afficher l'application une autre fois en replaçant le paramètre 0 dans la fonction Showwindow par 1. Et ça marchera!

  8. #8
    Membre régulier
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 122
    Points : 98
    Points
    98
    Par défaut
    un keylogger c'est quoi ?

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 71
    Points : 51
    Points
    51
    Par défaut
    Un keylogger est un programme qui va te permettre d'enregistrer les touchent tappées.

    Il ya une autre solution à ton problème, mais pas super élégante.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    while Arret=False do begin
     
        If (GetAsyncKeyState(27) And 32768) <> 0 Then arret:=true;
    //stop
    For ch := 0 To 255 do begin //scan les touches de 0 a 255
     
          If (GetAsyncKeyState(ch) And 32768) <> 0 Then// si une touche est préssée 
             begin
    // tes instructions, avec ch numéro ASCII de la touche pressée
             end;
       sleep (80); // à moduler.
        application.ProcessMessages;
                                end;
    showmessage ('fin');
    end;
    voilà ... mais tu vois que le programme tourne en boucle ....

  10. #10
    Membre régulier
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 122
    Points : 98
    Points
    98
    Par défaut
    oui ça va tourner en boucle la, sinon c'est facile de faire un keylogger ?

  11. #11
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2010
    Messages : 6
    Points : 0
    Points
    0
    Par défaut
    Bonjour tout le monde.J'aimerai bien savoir comment on peut détecter un keylogger?Merci d'avance.

Discussions similaires

  1. [UBUNTU] Problème de détection souris/clavier
    Par Merlin dans le forum Ubuntu
    Réponses: 4
    Dernier message: 19/04/2006, 19h23
  2. [API windows] Récupérer proprement les évènements clavier...
    Par heider dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 20/03/2006, 13h05
  3. [MFC][VC++.NET]gestion évènement clavier
    Par Rafoo dans le forum MFC
    Réponses: 2
    Dernier message: 14/12/2005, 09h29
  4. Réponses: 5
    Dernier message: 25/07/2005, 09h29
  5. Problème évènements clavier
    Par julie20 dans le forum Langage
    Réponses: 3
    Dernier message: 24/09/2003, 12h39

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