VC 控制windows自带计算器做加法运算
来源:互联网 发布:mac怎么做压缩包 编辑:程序博客网 时间:2024/05/10 01:03
本程序控制windows自带计算器模拟从1加到100,直接源码。
#include<iostream>#include<windows.h> using namespace std;//分别为数字键、+、=与计算器左上角的相对位置POINT point[12]={{310,240},//0{310,210},//1{350,210},//2{390,210},//3{310,180},//4{350,180},//5{390,180},//6{310,150},//7{350,150},//8{390,150},//9{430,240},//+{470,240} //=}; //模拟点击数字:比如输入参数为123,函数分别模拟点击'1','2','3'void NumClick(int value,unsigned long time,RECT rect){int qian,bai=0,shi=0,ge=0;if(value>=1000){qian=value / 1000;bai=value % 1000 / 100;shi=value %100 / 10;ge=value % 10;SetCursorPos(rect.left+point[qian].x ,rect.top+point[qian].y);mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP,0,0,0,0);Sleep(time);SetCursorPos(rect.left+point[bai].x ,rect.top+point[bai].y);mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP,0,0,0,0);Sleep(time);SetCursorPos(rect.left+point[shi].x ,rect.top+point[shi].y);mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP,0,0,0,0);Sleep(time);SetCursorPos(rect.left+point[ge].x ,rect.top+point[ge].y);mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP,0,0,0,0);Sleep(time);}else if(value>=100){bai=value / 100;shi=value %100 / 10;ge=value % 10;SetCursorPos(rect.left+point[bai].x ,rect.top+point[bai].y);mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP,0,0,0,0);Sleep(time);SetCursorPos(rect.left+point[shi].x ,rect.top+point[shi].y);mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP,0,0,0,0);Sleep(time);SetCursorPos(rect.left+point[ge].x ,rect.top+point[ge].y);mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP,0,0,0,0);Sleep(time);}else if(value>=10){shi=value / 10;ge=value % 10;SetCursorPos(rect.left+point[shi].x ,rect.top+point[shi].y);mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP,0,0,0,0);Sleep(time);SetCursorPos(rect.left+point[ge].x ,rect.top+point[ge].y);mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP,0,0,0,0);Sleep(time);}else{SetCursorPos(rect.left+point[value].x ,rect.top+point[value].y);mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP,0,0,0,0);Sleep(time);}}//模拟点击'+'void AddClick(unsigned long time,RECT rect){SetCursorPos(rect.left+point[10].x ,rect.top+point[10].y);mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP,0,0,0,0);Sleep(time);}//模拟点击'='void EqualClick(unsigned long time,RECT rect){SetCursorPos(rect.left+point[11].x ,rect.top+point[11].y);mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP,0,0,0,0);Sleep(time);}int main(){RECT rect;int dest_value=100;cout<<"请按F7..."<<endl;while(1){if(GetAsyncKeyState(VK_F7) & 0x0001) //监视F8{ShellExecute(NULL,"open","calc.exe",NULL,NULL,SW_SHOWNORMAL);Sleep(500);HWND pWnd=FindWindow(NULL,"计算器");SetWindowPos(pWnd, (HWND)-1, 0, 0, 0, 0, 3);GetWindowRect(pWnd,&rect);for(int i=1;i<=dest_value;i++){NumClick(i,200,rect);//输入数字if(i<dest_value){AddClick(200,rect);//输入+}else{EqualClick(200,rect);//输入=}}Sleep(5000);PostMessage(pWnd,WM_CLOSE,0,0);//关闭计算器}Sleep(200);}return 0;}
- VC 控制windows自带计算器做加法运算
- 用c#控制windows自带计算器实例
- Windows自带的计算器
- DOM做加法计算器
- JAVA实现Windows自带的计算器
- windows 自带计算器 calc 的使用
- Windows自带防火墙控制
- 位运算做加法
- 自带计算器
- c# 编程实现对WINDOWS自带计算器进行操作
- Windows 系统自带计算器使用说明和技巧
- 个人作品——类windows自带的计算器
- windows自带计算器模式切换的实现研究
- 使用Java实现Windows自带计算器(超简单)
- 安卓模仿Windows自带计算器简易布局
- java 计算器 (模仿windows自带计算器的功能和界面)
- C#编写的计算器程序(仿windows自带的计算器)
- 不用加减乘除做加法运算
- Android学习篇章43-HttpClient网络通信
- VC++工程头文件重复和循环引用
- stdafx.h、stdafx.cpp的作用
- 『常识』线程安全与可重入
- 开源分布式文件系统对比 表格
- VC 控制windows自带计算器做加法运算
- 第十周
- 【润乾】v5柱状图数值显示负数向下
- mysql在不同操作系统下的区别
- IOS Table中Cell的重用reuse机制分析
- p屏蔽home键
- 二叉树非递归后序遍历
- opengl 渲染管线(转)
- android异步加载图片类