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 ) );
  • 相关阅读:
    IBM WebSphere MQ 7.5基本用法
    IBM WebSphere MQ介绍安装以及配置服务详解
    Windows平台上使用Github搭建Git服务器的图文教程
    Git安装和TortoiseGit详细使用教程【基础篇】
    DOS命令之at命令详解
    单元测试数据库 -- 使用事物回滚测试
    VS中实时获取SVN的版本号并写入到AssemblyInfo.cs中
    SQL2008中Merge的用法
    VS版本号定义、规则和相关的Visual Studio插件
    JSON字符串互相转换的三种方式和性能比较
  • 原文地址:https://www.cnblogs.com/fangkm/p/1442998.html
Copyright © 2011-2022 走看看