用代码模拟键盘鼠标操作,主要用到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, 0, sizeof( 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,  0, 0, 0, NULL );  //模拟左键按下
        ::mouse_event( MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTUP, 0,  0, 0, NULL );       //模拟左键弹起

//SendInput模拟鼠标输入示例
        ::SetCursorPos( 0,  880 );  //将当前鼠标位置设置到开始菜单位置
        INPUT mouseInput[2];
        memset( mouseInput, 0, sizeof( 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 ) );

转载于:https://www.cnblogs.com/fangkm/archive/2009/04/24/1442998.html

程序模拟键盘鼠标操作相关推荐

  1. Python 模拟键盘鼠标操作实战教程

    在某些情况下,如果我们需要进行自动化操作的应用没有提供相应的接口,我们无法直接通过Python来调用API实现自动化.这种情况下,Python也不是完全没有办法的,我们可以采用模拟键盘和鼠标的方式实现 ...

  2. java 模拟鼠标_java实现简单的模拟键盘鼠标操作

    简简单单的记录: 近期需要用到模拟键盘鼠标操作,所以记录下来,以备后用,看了很多例子,未标明引用,请见谅 package com.text.jna; import javax.imageio.Imag ...

  3. Cypress之模拟键盘鼠标操作以及页面元素拖动操作

    上篇文章讲解了使用cypress框架时,如何上传或者下载文件,以及定位操作iframe和shadow dom下的页面元素.此次课程将讲解如何模拟键盘输入.鼠标操作以及如何拖动页面元素,另外,会介绍如何 ...

  4. python在程序中模拟键盘鼠标操作

    Python中模拟键盘和鼠标最著名的模块是:pymouse 和 pykeyboard.一次安装两个模块比较麻烦,而有一个库整合了这两个模块,而且能支持跨平台操作,这个库叫 PyUserInput,通过 ...

  5. java整理软件---java模拟键盘,鼠标操作

    1.Java 模拟键盘输入的小Demo,实现自动按下:模拟Ctrl+Alt+Z的按下和抬起    如果你开着qq的话,那么qq会自动弹出来.哈哈,代替人工操作; import java.awt.Rob ...

  6. python模拟键盘鼠标操作

    python版本:3.6.2 扩展: autopy3 (python2.x的话 安装autopy 就可以了) //autopy是一个自动化操作的python库,可以模拟一些鼠标.键盘事件,还能对屏幕进 ...

  7. C# 使用Win32 API模拟键盘鼠标操作网页

    在webbrowser控件中的document complete 事件中设置链接到自身 private void ieFrame_DocumentCompleted(object sender, We ...

  8. C/C++ Windows平台 模拟键盘 / 鼠标操作

    原理:调用Windows API 头文件: Windows.h 鼠标 参考:MSDN :mouse_event function 按键 使用定义在Winuser.h中的mouse_event函数(Wi ...

  9. [转载]C#模拟键盘鼠标事件-SendKeys

    C#模拟键盘鼠标事件-SendKeys 2007-09-18 15:138596人阅读评论(1)收藏举报 1.模拟键盘事件 System.Windows.Forms.SendKeys以下是   Sen ...

最新文章

  1. 这是一份不完整的数据竞赛年鉴!
  2. HTML中的一些知识点
  3. 【Python基础】Pandas数据可视化原来也这么厉害
  4. C# WinForm开发系列 - TextBox
  5. Springboot : RequestContextHolder
  6. python time
  7. 【排序算法】冒泡排序 选择排序 插入排序 希尔排序(数组)
  8. 如何在 ASP.NET Core 中使用 Quartz.NET 执行任务调度
  9. 允许跨域访问_PHP设置多域名允许跨域访问
  10. 服务器性能和活动监视
  11. Python中的队列结构及其用法
  12. springcloud工作笔记097---idea集成Mapper接口点击后自动跳转到对应的xml文件中
  13. “成功”没那么有道理
  14. C# 中base和this关键字
  15. AI CycleGAN
  16. 某LINUX下,从快捷方式的目录运行程序,参数就是快捷方式的名
  17. 《华为交换机学习指南》学习笔记·一
  18. python中if elif else是什么意思_python中的elif是什么意思
  19. java生命游戏_生命游戏
  20. MySQL数据库id主键或密码使用MD5加密

热门文章

  1. 单例模式到Java内存模型
  2. C# 多个线程一直跑着While(true)
  3. BSD配置SSH服务
  4. Linux 系统如何调整时区和时间
  5. Linux下遍历目录下的文件
  6. 真格量化-50ETF期权波动率策略
  7. 版本字符串比较工具接口常用接口函数
  8. 数据库小知识点(一直更新)
  9. Diango博客--22.Django Haystack 全文检索与关键词高亮
  10. linux环境部署ltmj,Linux系统安装与简单配置 图文.docx