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 ) );
  • 相关阅读:
    PHP7.X 安装mysql扩展
    雷军说云计算是下一个风口
    玩转超级列表框4 拖放组建的使用。
    玩转超级列表框第三课的自编代码
    易语言核心支持库 文本操作与文件读写
    插入表项的标题和置标题的标题的区别
    精易模块8.2 类_超级列表框 外部超级列表框的区别和使用注意点
    如何理解动态规划
    雷军:互联网思维本质上就是群众路线
    纯互联网项目“失宠”乐博资本杨宁称今后只投O2O
  • 原文地址:https://www.cnblogs.com/fangkm/p/1442998.html
Copyright © 2011-2022 走看看