zoukankan      html  css  js  c++  java
  • 模拟鼠标点击和键盘按下

     1 //*--------------------------------------------------打开触摸板开始---------------------------------------------------*//
     2     HWND  hStatus=::FindWindow("Shell_TrayWnd",NULL);  //得到任务栏窗口句柄
     3     HWND  hTray = ::FindWindowEx(hStatus,0,"TrayNotifyWnd",NULL); //获取托盘部分的窗口句柄
     4 
     5     //获得触摸板所在的位置,由用户输入
     6     UINT iPos;
     7     BOOL flag;
     8     iPos = GetDlgItemInt(IDC_EdtPos,&flag,TRUE);
     9     if (iPos<1||iPos>10)
    10     {
    11         return;
    12     }
    13     //---------------保存当前鼠标的位置,用户对鼠标位置进行恢复
    14     POINT p;
    15     GetCursorPos(&p);
    16     //---------------保存当前鼠标的位置,用户对鼠标位置进行恢复
    17     CRect r;
    18     ::GetWindowRect(hTray,&r);
    19     SetCursorPos(r.left+10+24*(iPos-1),740);  //设置鼠标位置到需要的位置
    20 
    21     //模拟鼠标单击
    22     mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
    23     mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
    24     //接下来靠键盘接收了。
    25     Sleep(1000);
    26     keybd_event(VK_CONTROL,0,0,0);
    27     keybd_event('P',0,0,0);
    28     keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0);
    29     keybd_event('P',0,KEYEVENTF_KEYUP,0);    
    30    //*-------------------------------------------------------------打开触摸板结束------------------------------------------------*//
    31 
    32     //---------------------------恢复鼠标的位置------------------
    33     Sleep(200);
    34     SetCursorPos(p.x,p.y);
    35     //---------------------------恢复鼠标的位置------------------
    36 
    37     //获取触摸板窗口的句柄
    38     HWND hTouchPad =::FindWindow(NULL,"鼠标 属性");
    39     //获取触摸板窗口的位置
    40     CRect rtTouchPad;
    41     ::GetWindowRect(hTouchPad,&rtTouchPad);
    42     SetCursorPos(rtTouchPad.left+300,rtTouchPad.top+40);
    43     //-------------------------------------------
    44     //模拟鼠标单击----“装置设定值”
    45     mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
    46     mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
    47     
    48     //--------------------------------------
    49     SetCursorPos(rtTouchPad.left+200,rtTouchPad.top+200);
    50     //模拟鼠标单击---“启用”
    51     mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
    52     mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
    53 
    54     //模拟回车键按下
    55     Sleep(200);
    56     keybd_event(VK_RETURN, 0, 0, 0);

    感觉还是很复杂,不知道还有没有更简单的方法。

    https://files.cnblogs.com/tk091/traypad.rar

  • 相关阅读:
    php微信支付v3版签名生成,代金券、微信支付分、支付即服务等
    docker基本命令及搭建php环境
    Nginx 负载均衡搭建
    laravel4.2 union联合,join关联分组查询最新记录时,查询条件不对,解决方案
    抓取腾讯视频弹幕
    laravel4.2 Redis 使用
    201771010106-东文财 实验一 软件工程准备-<构建之法与博客首秀>
    东文财201771010106《面向对象程序设计(java)》.18
    东文财201771010106《面向对象程序设计(java)》17
    201771010106东文财《面向对象程序设计(java)》实验16
  • 原文地址:https://www.cnblogs.com/tk091/p/2507673.html
Copyright © 2011-2022 走看看