Question pour les gens du C++
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Question pour les gens du C++



  1. #1
    invite2800a7c8

    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
    invite936c567e

    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 ? ? ?)
    Jusqu'ici tout va bien...

Discussions similaires

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