谁能教教我怎么做鼠标连点器

各位,我想问一个问题:
我同学制作了一个鼠标连点器,可是他不给我看代码,各位,谁能教教我?我想做一个比他更厉害的!
他的鼠标连点器大概是这样:先摁space键,就开始让你输入每秒对少次,就开始连点器了;
各位,谁能教教我?

#include<windows.h>

#include<cstdio>

#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0) //具体可参见 https://blog.csdn.net/Hox_5/article/details/118901381 

int main()
{
    ShowWindow(FindWindow("ConsoleWindowClass",NULL),SW_HIDE); //隐藏窗口 
    
    int n , m;

    while(1)
    {
        if(KEY_DOWN(32)) //按下空格键 
        {    
            ShowWindow(FindWindow("ConsoleWindowClass",NULL),SW_SHOW); //显示窗口
             
            puts("输入每秒点击次数:");
             
            scanf("%d",&n);
             
            puts("输入持续时间:");
            
            scanf("%d",&m);
             
            puts("点击DEL键强制结束!默认为鼠标左键!5秒后开启!");
             
            Sleep(5000);//等待五秒钟 以毫秒为单位 
            
            ShowWindow(FindWindow("ConsoleWindowClass",NULL),SW_HIDE); //隐藏窗口

            for(int i = 1;i <= m;i ++)
            
                for(int l = 1;l <= n;l ++)
                {
                    mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 ); //按下鼠标左键单击 
                    
                    //mouse_event (MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0 ); 这是鼠标右键单击 
                    
                    //具体可参见 https://blog.csdn.net/hellokandy/article/details/94031796 
                    
                    Sleep(1000 / n); 
                    
                    if(KEY_DOWN(46)) goto bre;
                }
                
            bre:;
            
            MessageBox(NULL,"连点结束","提示",MB_OK);  
        } 
    }
}

不会的话可以联系我,我会尽己所能进行答复


#include<iostream>  
#include<conio.h>  
#include<windows.h>  
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0) 
using namespace std;   
int main(){  
    char a;  
    int now=0;  
    printf("Q:   左键\n");  
    printf("W:   右键\n");  
    printf("空格:停止\n");  
    printf("By:secret_zz\n"); 
    while(1)
    {  
        if(KEY_DOWN(VK_SPACE))
        { 
            now=0;   
            Sleep(100); 
        }  
        if(KEY_DOWN('Q'))
        {  
            now=1;  
            Sleep(100);  
        }   
        if(KEY_DOWN('W'))
        {  
            now=2;  
            Sleep(100);  
        }  
        if(now==1)
        { 
            mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);  
            Sleep(10); 
            mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);  
        }  
        if(now==2){  
            mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0);  
            Sleep(10);   
            mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,0);  
        }  
        Sleep(20);  
    }  
    return 0;
}