zoukankan      html  css  js  c++  java
  • 程序模拟键盘鼠标操作

    用代码模拟键盘鼠标操作,主要用到keybd_event/mouse_event或者SendInput  API函数.使用示例如下(附注释):

            /*
            * 模拟键盘输入,以按窗口键(WIN键)为例
            
    */

            
    //keybd_event模拟键盘输入示例
            ::keybd_event( VK_LWIN,  0,  0 , 0 );    //按下WIN键          
            ::keybd_event( VK_LWIN,  0,  KEYEVENTF_KEYUP, 0 ); //弹起WIN键      

            
    //SendInput模拟键盘输入示例
            INPUT keyInput[2];
            memset( keyInput, 
    0sizeof( keyInput ) );
            keyInput[
    0].type = keyInput[1].type = INPUT_KEYBOARD;  //设置为键盘输入
            keyInput[0].ki.wVk = keyInput[1].ki.wVk = VK_LWIN;  //操作WIN键
            keyInput[1].ki.dwFlags  = KEYEVENTF_KEYUP;   //弹起    
            ::SendInput( _countof( keyInput ), keyInput, sizeof( INPUT ) );


            
    /*
            * 模拟鼠标输入,以单击开始菜单为例
            * 由于我的机器分辨率为1440*900,因而鼠标位置(0,880)刚好位于开始菜单的位置
            
    */

            
    //mouse_event模拟鼠标输入示例
            ::SetCursorPos( 0,  880 );     //将当前鼠标位置设置到开始菜单位置
            ::mouse_event( MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTDOWN,  000, NULL );  //模拟左键按下
            ::mouse_event( MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTUP, 0,  00, NULL );       //模拟左键弹起

            
    //SendInput模拟鼠标输入示例
            ::SetCursorPos( 0,  880 );  //将当前鼠标位置设置到开始菜单位置
            INPUT mouseInput[2];
            memset( mouseInput, 
    0sizeof( mouseInput ) );
            mouseInput[
    0].type = mouseInput[1].type = INPUT_MOUSE;         //设置为鼠标输入
            mouseInput[0].mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTDOWN;  //左键按下
            mouseInput[1].mi.dwFlags  = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTUP;  //左键弹起
            ::SendInput( _countof( mouseInput ), mouseInput, sizeof( INPUT ) );
  • 相关阅读:
    Spring Boot 属性配置和使用
    spring boot下WebSocket消息推送
    深入理解分布式事务,高并发下分布式事务的解决方案
    HashMap实现原理分析
    JVM 简述
    Java 并发之原子性与可见性
    Java 并发理论简述
    Java读取Properties文件的六种方法
    Java中的注解是如何工作的?
    XML解析——Java中XML的四种解析方式
  • 原文地址:https://www.cnblogs.com/fangkm/p/1442998.html
Copyright © 2011-2022 走看看