c++有没有模拟键盘操作的程序?如左键单击之类

 我来答
光亮中的黑暗
2017-05-26 · TA获得超过427个赞
知道小有建树答主
回答量:63
采纳率:100%
帮助的人:27.5万
展开全部

这个与模拟鼠标点击的函数差不多,直接上函数

keybd_event(VK_RETURN,0,0,0);

keybd_event(VK_RETURN,0,KEYEVENTF_KEYUP,0);

这是模拟按下、抬起回车键

我直接上一个我曾经用它与一些函数写的一个刷屏程序

我用自己的小号试过,如果对方用的是手机,效果很显著

#include<iostream>  
#include<windows.h>  
using namespace std;  
int b[11000],top=0;  
char a[10];  
bool f=true;   
int main()
{  
    int n,num;  
    //初始化   
    a[0]='0';  
    a[1]='1';  
    a[2]='2';  
    a[3]='3';  
    a[4]='4';  
    a[5]='5';  
    a[6]='6';  
    a[7]='7';  
    a[8]='8';  
    a[9]='9';  
    while(1)
    {  
        cout<<"请输入刷屏次数:";  
        cin>>n;  
        cout<<"请输入间隔时间(单位:毫秒  1000毫秒=1秒):";  
        cin>>num;  
        if_return:  
        cout<<"是否需要前导回车? 1.yes   2.no"<<endl;  
        int k;  
        cin>>k;  
        if(k==1)    f=true;
        else
            if(k==2)    f=false;
            else
            {  
                cout<<"输入错误!"<<endl;  
                goto if_return;//比较乱的但是很方便的循环   
            }  
        cout<<"请把光标移动到输入框"<<endl;  
        Sleep(2000);  
        mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);  
        mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);//模拟单击鼠标左键   
        cout<<"请等待三秒。。。"<<endl;  
        Sleep(1000);  
        cout<<"3"<<endl;  
        Sleep(1000);  
        cout<<"2"<<endl;  
        Sleep(1000);  
        cout<<"1"<<endl;  
        for(int i=1; i<=n; i++)
        {  
            if(f==true)
            {  
                keybd_event(VK_RETURN,0,0,0);  
                keybd_event(VK_RETURN,0,KEYEVENTF_KEYUP,0);  
            }   
            int x=i;  
            while(x>0)
            {  
                b[top++]=x%10;  
                x/=10;  
            }  
            top--;  
            for(int j=top; j>=0; j--)
            {  
                keybd_event(a[b[j]],0,0,0);  
                keybd_event(a[b[j]],0,KEYEVENTF_KEYUP,0);//模拟按下某个数字键   
            }  
            top=0;  
            keybd_event(VK_RETURN,0,0,0);  
            keybd_event(VK_RETURN,0,KEYEVENTF_KEYUP,0);//模拟按下回车键   
            Sleep(num);  
        }  
        putchar(7);  
        system("cls");//清屏   
    }  
    return 0;  
}

求采纳,谢谢!

匿名用户
2017-05-26
展开全部
有, Keybd_event( );
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式