zoukankan      html  css  js  c++  java
  • SendInput 函数详解

    //函数
    SendInput(
        __in UINT cInputs,                     // number of input in the array
        __in_ecount(cInputs) LPINPUT pInputs,  // array of inputs
        __in int cbSize);                      // sizeof(INPUT)


    LPINPUT结构.type
    #define INPUT_MOUSE     0
    #define INPUT_KEYBOARD  1
    #define INPUT_HARDWARE  2

    //LPINPUT的结构
    typedef struct tagINPUT {
        DWORD   type;

        union
        {
            MOUSEINPUT      mi;
            KEYBDINPUT      ki;
            HARDWAREINPUT   hi;
        };
    } INPUT, *PINPUT, FAR* LPINPUT;


    //键盘结构
    typedef struct tagKEYBDINPUT {
        WORD    wVk;    //0x25
        WORD    wScan;  //MapVirtualKeyExA
        DWORD   dwFlags;  //0/KEYEVENTF_KEYUP
        DWORD   time;    //0
        ULONG_PTR dwExtraInfo;
    } KEYBDINPUT, *PKEYBDINPUT, FAR* LPKEYBDINPUT;


    //鼠标结构
    typedef struct tagMOUSEINPUT {
        LONG    dx;
        LONG    dy;
        DWORD   mouseData;
        DWORD   dwFlags;
        DWORD   time;
        ULONG_PTR dwExtraInfo;
    } MOUSEINPUT, *PMOUSEINPUT, FAR* LPMOUSEINPUT;


    //硬件结构
    typedef struct tagHARDWAREINPUT {
        DWORD   uMsg;
        WORD    wParamL;
        WORD    wParamH;
    } HARDWAREINPUT, *PHARDWAREINPUT, FAR* LPHARDWAREINPUT;


    汇编中的数据 LPKEYBDINPUT
    0012F818  00000001 类型:MyInput[0].type = INPUT_KEYBOARD;
    0012F81C  004B0025 高位:MyInput[0].ki.wScan =MapVirtualKeyExA(keyvalue,0,0);
                                    低位:MyInput[0].ki.wVk = keyvalue;
    0012F820  00000001 标志:MyInput[0].ki.dwFlags =1;
    0012F824  0049CF43 时间:MyInput[0].ki.time=timeGetTime();
    0012F828  00000000 扩展信息:MyInput[0].ki.dwExtraInfo=0;
    0012F82C  00000000
    0012F830  00000000

  • 相关阅读:
    spring源码解析四( spring事务)
    Epoll的本质(内部实现原理)转载
    Gitlab+Jenkins+Docker+K8S实现CI/CD
    AIOps
    云运维的关键有哪些?
    Nginx代理Portainer
    nginx+tomcat+mysql进行负载均衡
    Docker安装及容器创建
    运维常用的linux命令操作
    Arm64安装docker和docker-compose
  • 原文地址:https://www.cnblogs.com/iTaoqi/p/2529494.html
Copyright © 2011-2022 走看看