需要帮助创建一个休眠条件的循环,当满足条件时,它会停止,直到下一个操作

Need help creating a Loop which sleeps a condition, when condition is met it stops until the next action

本文关键字:条件 满足 操作 下一个 循环 创建 帮助 休眠 一个      更新时间:2023-10-16

我是一个非常初学者C++,我正在尝试使用C++模拟鼠标点击程序。

我试图达到的是以下内容:

按下

鼠标右键时:

用户右键单击鼠标按钮(第一个操作(

应用程序休眠几英里秒(第二个操作(

它停止睡眠并进入另一种状态(第三个动作(

当用户离开鼠标单击时,它保持该状态(第四个操作(

(在用户再次单击鼠标右键时重复(

我已经尝试了一些替代方案,但它们似乎都没有像我预期的那样工作。现在我已经尝试了以下方法:

bool sleep = false;
while (sleep = false) {
    if (MK_RBUTTON) {
        Sleep(100);
        sleep = true;
    }
}
if (sleep = true) {
    (third action);
}

正如@Remy Lebeau所说,GetAsyncKeyState((是一个不错的选择。

我尝试更改您的代码,如下所示

#include <Windows.h>
#include <iostream>
using namespace std;
void third_action();
int main()
{
    BOOL sleep = FALSE;
    while (sleep == FALSE)
    {
        if (GetAsyncKeyState(VK_RBUTTON) < 0)
        {
            //Click RightButton
            Sleep(600);
            sleep = TRUE;
            cout << "Click RightButton" << endl;
        }
        if (sleep == TRUE)
        {
            //third action
            third_action();
            sleep = FALSE;
        }
    }
    return 0;
}
void third_action()
{
    /*
    Execute your third action here. 
    */
    cout << "third action worked" << endl;
}