Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Question pour les gens du C++

  1. #1
    Ludwig1

    Question pour les gens du C++

    Salut tout le monde,

    Dans une Applic il me faut lancer des séquences de simulation Clavier et Mousse.

    Dans MSDN j'ai trouvé la fonction SendInput qui conviendrai bien.

    Voici comment l'affaire est structurée me semble t'il

    \ HARDWAREINPUT Structure

    Code:
    
    
    typedef struct tagHARDWAREINPUT {
      DWORD uMsg;
      WORD  wParamL;
      WORD  wParamH;
    } HARDWAREINPUT, *PHARDWAREINPUT;

    \ KEYBDINPUT Structure

    Code:
    typedef struct tagKEYBDINPUT {
    
      WORD      wVk;
      WORD      wScan;
      DWORD     dwFlags;
      DWORD     time;
      ULONG_PTR dwExtraInfo;
    
    } KEYBDINPUT, *PKEYBDINPUT;

    \ MOUSEINPUT Structure


    Code:
    typedef struct tagMOUSEINPUT {
    
      LONG      dx;
      LONG      dy;
      DWORD     mouseData;
      DWORD     dwFlags;
      DWORD     time;
      ULONG_PTR dwExtraInfo;
    
    } MOUSEINPUT, *PMOUSEINPUT;


    \ INPUT Structure

    Code:
    typedef struct tagINPUT {
    
      DWORD type;
      union {
        MOUSEINPUT    mi;
        KEYBDINPUT    ki;
        HARDWAREINPUT hi;
    
      };
    } INPUT, *PINPUT;

    Et pour finir la fonction SendInput

    Code:
    FONCTION SendInput
    
    UINT WINAPI SendInput(
      _In_ UINT    nInputs,		\ Le nombre de structures dans le tableau pInputs.
      _In_ LPINPUT pInputs,		\ Un tableau de structures INPUT. Chaque structure représente un événement 
    				\ à insérer dans le flux d'entrée du clavier ou de la souris
      _In_ int     cbSize		\ La taille, en octets, d'une structure INPUT. Si la taille dans cbSize 
    				\ n'est pas la taille d'une structure INPUT, la fonction échoue.
    );

    Ce qui me parait un peu nébuleux, c'est le lien entre la fonction SendInput et la structure INPUT, je nevois pas bien comment on passe de l'une
    à l'autre.

    Quelqu'un pourrait 'il m'expliquer ?
    Merci par avance


    Cordialement
    Ludwig

    -----


  2. #2
    PA5CAL

    Re : Question pour les gens du C++

    Bonsoir

    La fonction SendInput() attend, en second paramètre, un pointeur vers une structure INPUT (dans LPINPUT, LP signifie "Long Pointer"). En d'autres termes, il faut que tu lui fournisses l'adresse de ta structure.

    La définition de LPINPUT ne figure pas parmi celles que tu cites ici. Si la compilation ne produit pas d'erreur, alors elle se trouve ailleurs dans ton code, séparée de la définition de la structure INPUT.

  3. #3
    polo974

    Re : Question pour les gens du C++

    https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
    (ben oui, avec le lien, c'est mieux...)
    Parameters

    nInputs [in] Type: UINT
    The number of structures in the pInputs array.

    pInputs [in] Type: LPINPUT
    An array of INPUT structures. Each structure represents an event to be inserted into the keyboard or mouse input stream.
    cbSize [in] Type: int

    The size, in bytes, of an INPUT structure. If cbSize is not the size of an INPUT structure, the function fails.
    tu peux injecter plusieurs "input" dans un seul appel. donc tu passes le nombre, l'adresse du tableau et la taille de la structure.

    sinon, tu peux voir du code (pas tout à fait ok, mais avec les bonnes remarques (toutes les lires...)) par ici ou simplifié (un seul "input") par ...

    (ça existe encore, le concept FAR ? ? ?)
    Le mieux est l'ennemi du bien, et c'est bien mieux comme ça...

Discussions similaires

  1. Aide sur le phishing(pas pour pirater les gens mais pour l'école,technologie)
    Par brahoom dans le forum Internet - Réseau - Sécurité générale
    Réponses: 3
    Dernier message: 25/04/2013, 22h54
  2. pour les gens de Monpellier ou région ou on peut trouver un mag pour la vente de matériel astro ?
    Par tarikelhilali dans le forum Matériel astronomique et photos d'amateurs
    Réponses: 4
    Dernier message: 24/12/2011, 17h00
  3. pour les gens préssés
    Par scholasticus dans le forum Mathématiques du collège et du lycée
    Réponses: 6
    Dernier message: 16/08/2007, 18h46
  4. pour les gens de la belgique
    Par rody dans le forum Électronique
    Réponses: 3
    Dernier message: 22/07/2006, 22h57
  5. pour les gens qui s'interresse a la cosmologie...
    Par likethestars dans le forum Astronomie et Astrophysique
    Réponses: 3
    Dernier message: 18/08/2004, 13h37