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

Windows Discussion :

[SPECIFIQUE] Fonction dans les DLL system32


Sujet :

Windows

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2008
    Messages : 252
    Points : 124
    Points
    124
    Par défaut [SPECIFIQUE] Fonction dans les DLL system32
    Bonjour,

    Je voudrais savoir si il existe une fonction qui renvoie la dernière touche pressée du clavier (ou quelque chose qui ressemblerait à ça) parmit les dll se trouvant dans c:\windows\system32 comme user32.dll ou kernel32.dll ?


    Merci d'avance !

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    Question très étrange.
    Quel rapport faite vous entre les touches du clavier et les dll situées dans un répertoire particulier.

    Généralement, une application attend que le système notifie qu'une touche à été enfoncé quand une fenêtre créée par l'application a le focus clavier.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2008
    Messages : 252
    Points : 124
    Points
    124
    Par défaut
    Citation Envoyé par bacelar Voir le message
    Question très étrange.
    Quel rapport faite vous entre les touches du clavier et les dll situées dans un répertoire particulier.

    Généralement, une application attend que le système notifie qu'une touche à été enfoncé quand une fenêtre créée par l'application a le focus clavier.
    Bas c'est vrai que je débute et que donc mes questions peuvent paraître étranges.

    Le fait est que d'après ce que j'ai compris les DLL se trouvant dans le répertoire nommé ci-dessus sont les DLL du system...

    Et donc par conséquent comme tu l'as di :
    une application attend que Le système notifie qu'une touche à été enfoncé
    le systeme arrive donc à capter cet événement no ? et peut être que pour cela... il utilise une fonction ou méthode se trouvant dans une des DLL du répertoire énoncé.

    Je voudrais donc savoir si mon raisonnement est correct et si oui quelle DLL est utilisée et avec fonction ?

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    À ma connaissance, il n'y a pas de "dernière touche pressée" dans le système lui-même. Il n'y a que "on enfonce une touche", "on relache une touche", "fenêtre X du thread Y du processus Z a le focus quand on fait ça, donc je lui envoie les messages Windows appropriés"; après, c'est au thread en question de mémoriser l'état du clavier.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2008
    Messages : 252
    Points : 124
    Points
    124
    Par défaut
    GetKeyState

    GetKeyboardState

    GetAsyncKeyState


  6. #6
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Ça fait ce que j'ai dit, pas ce que tu as demandé.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2008
    Messages : 252
    Points : 124
    Points
    124
    Par défaut
    Tout à fait mais moi je voulais un nom de fonction ce que personne ne m'a donné.

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    C'est peut-être une question de vocabulaire mais les fonctions que vous citez ne sont pas utilisées par le système ni par l'application pour obtenir la dernière touche pressée du clavier.

    Elles servent à avoir l'état du clavier ; soit au moment de l'appel de la fonction (synchrone) donc si la touche est déjà remontée c'est râpé ; soit lors de la fabrication d'un message Windows envoyé à la pompe à message de votre exécutable (donc dans un passé proche) et donc en retour d'un appel à GetMessage ou consort.

    Donc, techniquement, c'est la fonction GetMessage qui donne la dernière touche enfoncé, et cela au moment où elle est enfoncée.

  9. #9
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Enfin, pas exactement au moment où elle est enfoncée. Si ça rame, il peut même s'écouler plusieurs secondes!

    Quand à GetAsyncKeyState(), je l'ai plus vue employée avec des timers qu'autre chose.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  10. #10
    Membre éprouvé
    Avatar de maxim_um
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 895
    Points : 1 018
    Points
    1 018
    Par défaut
    Salut;

    Citation Envoyé par sokai Voir le message
    Bonjour,

    Je voudrais savoir si il existe une fonction qui renvoie la dernière touche pressée du clavier (ou quelque chose qui ressemblerait à ça) parmit les dll se trouvant dans c:\windows\system32 comme user32.dll ou kernel32.dll ?


    Merci d'avance !
    Non !

    À proprement parler, il n'y a pas une fonction unique qui permet de faire ce que tu demandes, elle n'existe pas ! Par contre, le système d'exploitation met à disposition un certain nombre de fonctions, qui, misent en relation, permettent d'aboutir à une fonctionnalité qui se rapproche de ce que tu cherches. En d'autres termes, il faut que tu fasses un programme, ou plus exactement, un "keylogger".

    C.Q.F.D.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2008
    Messages : 252
    Points : 124
    Points
    124
    Par défaut
    Citation Envoyé par maxim_um Voir le message
    Salut;
    À proprement parler, il n'y a pas une fonction unique qui permet de faire ce que tu demandes, elle n'existe pas !

    C'est ce que je me disais c'est pour ca que j'ai di "quelque chose qui semblerait à ca" qui me permettrais d'y aboutir quoi...

    Par contre, le système d'exploitation met à disposition un certain nombre de fonctions, qui, misent en relation, permettent d'aboutir à une fonctionnalité qui se rapproche de ce que tu cherches. En d'autres termes, il faut que tu fasses un programme, ou plus exactement, un "keylogger".
    ou "hook keyboard" oui . C'est facile de prendre un programme déjà tout fait (et il y en a des exemples sur le net), mais mon but était de créer moi même mon keylogger grâce à un script simple .bat ou .vbs en utilisant les fonctions des DLL de base windows. Je voulais savoir si c'était possible et quelle fonctions utiliser.

  12. #12
    Membre éprouvé
    Avatar de maxim_um
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 895
    Points : 1 018
    Points
    1 018
    Par défaut
    Non.

    Pas de .bat, pas de .vbs
    Il te faudra un .exe

Discussions similaires

  1. Réponses: 5
    Dernier message: 09/07/2006, 18h14
  2. [VB]exporter fonction dans une DLL
    Par SubZero2 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 05/04/2006, 15h59
  3. Point d'entrée d'une fonction dans une DLL
    Par Muetdhiver dans le forum MFC
    Réponses: 5
    Dernier message: 15/02/2006, 23h49
  4. Trouver une fonctions dans des DLL
    Par Mercenary Developer dans le forum Langage
    Réponses: 2
    Dernier message: 08/09/2005, 15h28
  5. [VStudio 6] pb avec fonctions dans une DLL
    Par MogDeChNord dans le forum MFC
    Réponses: 8
    Dernier message: 08/01/2004, 08h57

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