我想做一屏幕保护程序.在里面加一个能放声音的程序在屏保的时候放出声来就行了.哪位大哥大姐帮帮我啊.
小第感激不尽

解决方案 »

  1.   

    Option Explicit
    Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As LongPrivate Sub Command1_Click()
    PlaySound "c:\windows\media\ding.wav"
    End Sub' 播放指定磁盘中的音乐文件(.wav或.mid)
    ' Filename 为音乐文件的路径及文件名
    Function PlaySound(ByVal FileName As String) As Boolean
    Dim cmd As String, exName As String
    exName = Right(FileName, 3)
    mciSendString "close " & exName, 0, 0, 0
    If LCase(exName) = "wav" Then
        cmd = "open " & FileName & " type WAVEAudio alias " & exName
    ElseIf LCase(exName) = "mid" Then
        cmd = "open " & FileName & " type sequencer alias " & exName
    End If
    mciSendString cmd, 0, 0, 0
    PlaySound = mciSendString("play " & exName, 0, 0, 0)
    End Function
      

  2.   

    ' 播放资源文件中的.wav文件
    ' ID 为.wav文件的标识号Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (lpszSoundName As Any, ByVal uFlags As Long) As Long
    Const SND_ASYNC = &H1     ' 异步播放
    Const SND_MEMORY = &H4    ' lpszSoundName 指向一个内存文件
    Const SND_NODEFAULT = &H2 ' 不使用缺省声音Function PlayResSound(ByVal ID As Integer) As Boolean
    Dim SoundBuffer() As Byte
    SoundBuffer = LoadResData(ID, "CUSTOM")
    PlayResSound = sndPlaySound(SoundBuffer(0), SND_ASYNC Or SND_NODEFAULT Or SND_MEMORY)
    End Function
      

  3.   

    呵呵~~楼上,你总在LPP后面~~~没他快?:p