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 :

keybd_event en arrière plan ?


Sujet :

C++

  1. #1
    Membre à l'essai
    Homme Profil pro
    France
    Inscrit en
    Juillet 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : France
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 5
    Par défaut keybd_event en arrière plan ?
    Bonjour,

    je n'arrive pas à utilisé keybd_event en arrière plan même si je sais qu'il faut que la fenêtre soit au premier plan.. es ce qu'il y'a une solution pour ça ou si il y'a une autre méthode pareille que PostMessage et SendMessage pour DLL ou non ?

    PS: (la fênetre n'accept pas les WM_KEYDOWN/WM_KEYUP de PostMessage et SendMessage)

    Edit: j'utilise Microsoft Visual C++

  2. #2
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    éventuellement, si tu nous disais quel environnement tu utilises, pour qu'on sache ce qu'est ce "keybd_event", ca serait pas mal.

    Nous ne sommes pas assez devins pour t'aider sans contexte.

  3. #3
    Membre à l'essai
    Homme Profil pro
    France
    Inscrit en
    Juillet 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : France
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 5
    Par défaut
    Oups excusez moi je n'avais pas pensé j'ai éditais (j'utilise Microsoft Visual C++)

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 393
    Par défaut
    À ma connaissance, il n'y a pas sous Windows de mécanisme public fiable/complet pour envoyer de "vraies" pressions de touches à une application ou fenêtre qui n'est pas au premier plan.
    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 à l'essai
    Homme Profil pro
    France
    Inscrit en
    Juillet 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : France
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 5
    Par défaut
    il n'y as vraiment aucune solution ?.. car je voudrais faire comme PostMessage ou SendMessage mais pour keybd_event..

  6. #6
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 288
    Billets dans le blog
    2
    Par défaut
    Je sais que c'est possible de le faire car la SFML le fait. La solution consiste à utiliser la fonction GetAsyncKeyState(). J'avais regardé à une époque, mais ça avait l'air trop compliqué alors j'avais laissé tomber. Mais si je me souviens bien, on a juste besoin d'un hook sur la fenêtre, mais pas besoin qu'elle ait le focus.
    Tu peux jeter un coup d’œil à ceci: clic.

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 393
    Par défaut
    Citation Envoyé par r0d Voir le message
    La solution consiste à utiliser la fonction GetAsyncKeyState().
    À moins qu'il me manque une info, ça, ça sert à faire un programme "récepteur" qui analyse toutes les vraies touches y compris celles qui ne lui sont pas destinées.

    Là, on cherche à faire un programme "émetteur" capable d'envoyer des fausses touches à un programme arbitraire. Et on se heurte au problème classique:


    Là où il y a peut-être une piste, c'est l'API d'accessibilité.
    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.

  8. #8
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 288
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Là, on cherche à faire un programme "émetteur"
    Oops, j'avais mal compris la question
    Je me retire...

  9. #9
    Membre à l'essai
    Homme Profil pro
    France
    Inscrit en
    Juillet 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : France
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 5
    Par défaut
    oui je me disais aussi que ça ne pouvais pas être GetAsyncKeyState est j'allais vérifié si j'avais tord mais non breff, si on peut récupérer les touches de claviers par GetAsyncKeyState() avec un hook ?? Pourquoi on ne pourrais pas en envoyais, je ne suis pas très callé dans le hook par contre.. donc si il y'a un autre moyen que ça je suis preneur mais sinon je ferais avec.

  10. #10
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 146
    Billets dans le blog
    4
    Par défaut
    Eviter le hack semble déjà une bonne raison pour bloquer un tel procédé.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  11. #11
    Membre à l'essai
    Homme Profil pro
    France
    Inscrit en
    Juillet 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : France
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 5
    Par défaut
    si le hook est considéré comme du hack es-ce qu'il y'a un autre moyen pour faire ça ? ou qu'elle API je peut faire ça ?

Discussions similaires

  1. Dessiner une image en arrière plan d'1 MDI Main Frame
    Par Yacine95000 dans le forum MFC
    Réponses: 3
    Dernier message: 14/06/2004, 10h22
  2. [VB6] centrer l'image d'arrière-plan de ma Form ?
    Par ghohm dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 29/04/2004, 01h58
  3. petit problème premier plan, arrière plan
    Par gros bob dans le forum OpenGL
    Réponses: 4
    Dernier message: 19/04/2004, 12h00
  4. comment stoper 1 thread d'arrière-plan
    Par ms91fr dans le forum Langage
    Réponses: 3
    Dernier message: 06/06/2003, 17h46
  5. changer l'image d'arrière plan du bureau
    Par etenclin dans le forum MFC
    Réponses: 7
    Dernier message: 22/08/2002, 15h54

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