Beep()函数是否会在发出蜂鸣声时实际冻结控制台。当我们将Sleep()函数用于Sleep(1000)时,我们停止执行1秒钟。我想知道是否也发出了哔哔声
实施例
嘟嘟声(1000,500) - 冻结控制台一秒钟?
谢谢
答案 0 :(得分:2)
在扬声器上生成简单的音调。功能是同步的;它执行警报等待,在声音完成之前不会将控制权返回给其来电。
可以通过向线程的消息队列发送消息来中断可警告的等待。这通常需要IO完成或一些刻意的操作,但它可以提前返回,并且不能计入时间。
要改变嘟嘟声的长度,请相应地设置参数dwDuration
。
如果您的问题是非响应式控制台,请使用另一个线程发送蜂鸣声。 std::async
may be helpful here。例如:
auto asyncbeep = std::async(std::launch::async, []{ Beep(1000,500); });
答案 1 :(得分:0)