Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ h-Beep()_C++_Windows - Fatal编程技术网

C++ h-Beep()

C++ h-Beep(),c++,windows,C++,Windows,Beep()函数是否在蜂鸣音发生期间冻结控制台。当我们将Sleep()函数用于Sleep(1000)时,我们会停止执行1秒。我想知道嘟嘟声是否也会这样 范例 蜂鸣音(1000500)-冻结控制台一秒钟 谢谢有答案 功能是同步的;它执行可报警的等待,在声音结束之前不会将控制权返回给调用者 所以它确实会暂停,就像Sleep() 在扬声器上生成简单的音调。功能是同步的;它执行一个可报警的等待,并且在声音结束之前不会将控制权返回给调用者。 可以通过向线程的消息队列发送消息来中断可警报的等待。这通常需要I

Beep()函数是否在蜂鸣音发生期间冻结控制台。当我们将Sleep()函数用于Sleep(1000)时,我们会停止执行1秒。我想知道嘟嘟声是否也会这样

范例

蜂鸣音(1000500)-冻结控制台一秒钟

谢谢

有答案

功能是同步的;它执行可报警的等待,在声音结束之前不会将控制权返回给调用者

所以它确实会暂停,就像
Sleep()

在扬声器上生成简单的音调。功能是同步的;它执行一个可报警的等待,并且在声音结束之前不会将控制权返回给调用者。

可以通过向线程的消息队列发送消息来中断可警报的等待。这通常需要IO完成或一些有意的操作,但它可能会提前返回,并且不能指望时机

要改变蜂鸣音的长度,请相应地设置参数
dwDuration

如果您的问题是没有响应的控制台,请使用另一个线程发送蜂鸣音。例如:


您可以编译并运行一个使用该函数的示例程序,然后查看
Beep
是否自己执行该操作。“Beep(1000500)-冻结控制台一秒钟?”500->500 ms->1/2秒。这对你来说是坏是好?是的,我每秒运行G20帧,也就是20 x 50毫秒。所以一声嘟嘟真的扼杀了这个想法。但这并不是关键项目。只是大学作业,我很好地完成了MARI到你的链接,运行了他们在VisualStudio中提供的代码,错误-当编译/CLR或/CLR:PUR时,不支持任何错误。听起来你已经做了一个管理C++项目。当您创建项目时,应该选择“Win32 Console应用程序”。Mmmm。。。我怎么检查呢。Projt-属性->“->目标平台窗口,我认为我做了一个CLR空C++项目!”丹尼尔:好问题。我手头上没有一份VisualStudio的副本,除了创建一个win32项目并复制代码之外,我无法建议如何绕过它。另一种选择是留在CLR和use的土地上,关于这一点,我知道的太少,无法提出好的建议。
auto asyncbeep = std::async(std::launch::async, []{ Beep(1000,500); });