程序模拟键盘鼠标操作

用代码模拟键盘鼠标操作,主要用到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 ) );

 

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476330.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 520. 检测大写字母

1. 题目 给定一个单词,你需要判断单词的大写使用是否正确。 我们定义,在以下情况时,单词的大写用法是正确的: 全部字母都是大写,比如"USA"。 单词中所有字母都不是大写,比如"leetcode&qu…

不同电脑 命名管道_电脑键盘上的F1到F12,这些键都有哪些用处?用了5年总算明白了...

电脑键盘上的F1到F12,这些键都有哪些用处,用了5年总算明白了经常使用电脑的朋友会发现,电脑键盘上有一排F开头的键。那么这些键到底有什么用处呢?下面我们一起来了解一下。首先这些键都属于快捷键,所以每个键都有不同的…

知识图谱入门视频(二)

学习内容 小象学院 b站 第二章 【其实后面的方法学习只是一个框架式的学习,并不明白具体的操作】 第二部 典型知识库项目简介 CYC(读音: 赛克) CYC: 1984年由Douglas Lenat开始创建,最初的目标是建立人类…

InterDev 调试错误信息: Unable to set server into correct debugging state automatically....的解决办法...

InterDev 调试错误信息: Unable to set server into correct debugging state automatically....权威解决方法了:1、安装 vs6.0 cd2 vid_ss/setup.exe 2、安装 vs6.0 cd2 vid_ss/setup.exe3、配置dcom,设置用户权限4、打开IIS的调试功能5、OK详情见微软…

LeetCode 521. 最长特殊序列 Ⅰ

1. 题目 给你两个字符串,请你从这两个字符串中找出最长的特殊序列。 「最长特殊序列」定义如下:该序列为某字符串独有的最长子序列(即不能是其他字符串的子序列)。 子序列 可以通过删去字符串中的某些字符实现,但不…

wordpress acf字段 不同样式_提升wordpress执行效率二次开发实录

wordpress 对分类增加广告配置功能 wp_terms 增加admaster字段 varchar 200 wp-admin/edit-tag-form.php 小资料: wordpress wp_terms分类表 wp_term_taxonomy分类类型表、wp_term_relationships分类关联表 这三个表单相互关联 wordpress优化效率 当wordpress执行…

知识图谱入门知识(一)知识图谱应用以及常用方法概述

学习内容 搜集各种博客,理解实体识别、关系分类、关系抽取、实体链指、知识推理等,并且总结各种分类中最常用的方法、思路。 由于自己刚刚接触知识图谱,对该领域的概念和方法的描述还不是很清楚,所以只是简单的列出框架和添加链接…

openMP学习笔记(一)

声明:欢迎任何人和组织转载本blog中文章,但必须标记文章原始链接和作者信息。 本文链接:http://blog.csdn.net/li_007/archive/2009/04/30/4139211.aspx 开拓进取的小乌龟------->CSDN点滴点点滴滴Blog 之前大概看了一下openMP&#xff0c…

LeetCode 532. 数组中的K-diff数对

1. 题目 给定一个整数数组和一个整数 k, 你需要在数组里找到不同的 k-diff 数对。 这里将 k-diff 数对定义为一个整数对 (i, j), 其中 i 和 j 都是数组中的数字,且两数之差的绝对值是 k. 示例 1: 输入: [3, 1, 4, 1, 5], k 2 输出: 2 解释: 数组中有两个 2-diff …

python随机生成六位数密码_python生成6位包含数字和字母的密码

初学python,简单敲了几行生成6位包含数字和字母密码的代码(我是在python 3上敲的)首先理清思路:1、包含数字和字母的六位口令共有36^6个2、将0-9和a-z合成一个字符串pwd,用pwd[0-35]表示所有数字和小写字母,即pwd[0]0,pwd[1]1…pwd[34]y,pwd[…

知识图谱入门视频(三)

学习内容 小象学院 b站 第三章 【其实后面的方法学习只是一个框架式的学习,并不明白具体的操作】 链接 问题: 知识图谱究竟是什么? 可以看看开放知识图谱 其实就是将我们的语言拆分转换为符号表达,之后经过机器学习来将离散式的…

博客新皮肤上市

原创:冰极峰 有朋友说原来的博客不好看,趁着五一节放假,花了点时间重新制作了一套样式,图片借用一个外国博客的图片。 样式全部基于自定义皮肤样式改写的。 说实话,改写博客园样式是一件比较痛苦的事情,你不…

python调用接口测试_Python接口测试实战2 - 使用Python发送请求

本节内容requests安装requests使用JSON类型解析requests库详解带安全认证的请求序言上节课我们学习了接口测试的理论,抓包工具及使用Postman手工测试各种接口,这节课我们主要讲解使用Python语言来发送接口请求,实现接口测试自动化。发送请求,…

LeetCode 551. 学生出勤记录 I

1. 题目 给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符: A : Absent,缺勤 L : Late,迟到 P : Present,到场如果一个学生的出勤记录中 不超过一个’A’(缺勤) 并且 不超过两个连续的’L’(迟到…

论文阅读笔记(一)【Journal of Machine Learning Research】Natural Language Processing (Almost) from Scratch(未完)

学习内容 题目: 自然语言从零开始 Natural Language Processing (Almost) from Scratch 2021年7月28日 1-5页 这将是一个长期的过程,因为本文长45页; 每天给自己定为5页的任务量! 由于刚开始接触知识图谱,尚未学习N…

python找出录取率最高的年份_Python分析42年高考数据,告诉你高考为什么这么难?...

不同省份的985和211录取率有着比较明显的差距,12个省份的985录取率低于1.5%,安徽,河南,江苏和贵州更是低于1.2%大数据文摘授权转载自数据森麟作者:徐麟对于已经工作的“上班族”来说,6月7号到9号三天无疑是…

知识图谱入门视频(四)

学习内容 小象学院 b站 问题 本体和实体的区别? 苹果公司是一个科技公司,那么苹果公司就是一个实体,它所对应的科技公司就是本体概念。分布式表示和分布式存储 前者是将语义连续化,后者则是一个存不下; 第四部分 应…

FMS3系列(三):创建基于FMS的流媒体播放程序

本文主要介绍怎么去创建基于FMS的流媒体播放程序,Flash客户端通过网络加载FMS服务器上的视频流文件(.flv,.mp4等),实现视频流的播放。 要实现媒体流文件的播放是非常简单的,只要在FMS服务器上提供好流媒体文件,Flash客户端通过Net…

kakfa怎么看消息是否堆积_纯种哈士奇多少钱一只,怎么看是否是纯种哈士奇

纯种哈士奇多少钱一只,怎么看是否是纯种哈士奇哈士奇之前是一种生存在高寒地带的工作犬,近些年迅速占领了家庭宠物的市场,成为最受欢迎的宠物犬之一,由于它精力过于旺盛而且服从性极地因此也让很多人头痛。但是这并不能让人们减少…

论文阅读笔记(二)【ACL2021】知识抽取NER

学习内容 由于刚刚进入知识图谱领域,对该领域的研究热点不是很了解,所以本文直接翻译ACL2021中关于知识抽取NER中各个论文的摘要和共享;并且适时在最后写出自己的理解;同时自己也会在了解完全部后给出各个论文的研究分类。 1. 题…