Я пишу программу VB6 и нуждаюсь в помощи с синтаксисом объявления функции PlaySound. Я написал прикрепленный фрагмент, и ему удается сыграть Tada.wav
, но не отражает все флаги.Как объявить несколько флагов в инструкции функции PlaySound в VB6?
Могу ли я иметь более одного dwFlag
, или я ограничен только одним?
Я бы хотел, чтобы dwFlags включил SND_ASYNC
, SND_FILENAME
и SND_LOOP
.
Вот код, который я пытался до сих пор:
Dim RetVal As Variant
Private Const SND_ASYNC As Long = &H80
Private Const SND_FILENAME As Long = &H20000
Private Const SND_LOOP As Long = &H8
Private Declare Function PlaySound Lib "winmm.dll" Alias _
"PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, _
ByVal dwFlags As Long) As Long
Private Sub Command3_Click()
RetVal = PlaySound("C:\Program Files\@VickEdu\Vocab!\Tada.wav",_
0&,_
SND_FILENAME Or SND_ASYNC Or SND_LOOP)
End Sub
Private Sub Command4_Click()
RetVal = PlaySound("C:\Program Files\@VickEdu\Vocab!\Tada.wav",_
0&, _
SND_FILENAME & SND_ASYNC & SND_LOOP)
End Sub
Вы не смогли заставить его работать, используя мой ответ? Я сделал тест и смог успешно объединить три используемых вами флага (файл/loop/asnyc). – Bond