【发布时间】:2019-04-25 20:41:19
【问题描述】:
我正在尝试使用 C++ 延迟右键单击,
我现在有
if (GetKeyState(VK_LBUTTON) > 0) {
delay(120);
}
它工作正常,但在执行程序时冻结。 有没有办法让它延迟点击但不冻结程序?。
【问题讨论】:
-
在事件循环中使用
thread或计时器? -
你需要把它放在不同的线程中
-
谢谢,能举个例子吗?
-
我不能举一个我认为你可以安全使用的例子。虽然线程可能是正确的方法,但它打开了一大堆您需要注意的其他事情,可能最重要的是 UI 线程和工作线程之间的数据同步。如果你可以用一个更好的例子来更新你的问题,那么有人可以使用线程或更适合你的问题的方法提供一个适用的例子,例如缩短延迟、循环它和调用一个函数。处理UI永远不会延迟很长时间的事件循环。
-
这个问题的答案很大程度上取决于
delay(120);语句应该实现什么,以及它要在哪里执行。两者都不能从问题中推断出来。