【发布时间】:2018-06-05 20:36:46
【问题描述】:
我想了解如何在 win32 api 中使用多线程。 我有这个课程项目我需要完成,我确实尝试制作一个像鼓垫这样的应用程序,(当我按下一个按钮时,我有多个按钮,它会播放声音)它很容易,但是我不能在第一个按钮时按下第二个按钮按钮(声音)正在工作。 我的导师说我需要使用多线程。 这是我的代码。
switch (wmId)
{
case 'Q':
{
SendMessage(hQ, WM_LBUTTONDOWN, 0, 0);
PlaySound(TEXT("1.wav"), NULL, SND_ALIAS);
SendMessage(hQ, WM_LBUTTONUP, 0, 0);
}
break;
【问题讨论】:
-
将标志
SND_ASYNC添加到PlaySound调用参见:msdn.microsoft.com/en-us/library/windows/desktop/… -
PlaySound(TEXT("1.wav"), NULL, SND_ASYNC);像这样
-
你的导师错了,如果这正是他们的建议。您需要使用异步编程。多线程只是实现这一目标的众多方法之一,而且肯定不是最简单的。
标签: c++ multithreading winapi