可以,放到自定义资源中,然后用sndPlaySound API
MSDN中又详细的例子

解决方案 »

  1.   

    jpeg只能放到自定义资源中,用时恢复成文件:)
      

  2.   

    可以,将Jpg或者Wav保存为自定义。用LoadResData装载并保存到临时文件中
    再调用。
    www.applevb.com
      

  3.   

    如何恢复JPG,IPROGRAM能否详细的说一下,谢谢
      

  4.   

    RES中一个资源的容量最大是多少???
      

  5.   

    恢复Jpeg:
    新建工程,新建资源文件加入工程,在资源文件编辑器中添加自定义资源(CUSTOM),资源号使用默认的101。
    Private Const FILESIZEOFJPEG = 2480 'Jpeg.jpg的大小是2480Byte
      
    Private Sub PutJPGFile() '该过程生成资源文件中的jpeg资源到文件。
      Dim Jpeg() As Byte 'Jpeg是个Btye类型和数组
      Dim Counter As Long
      Jpeg = LoadResData(101, "CUSTOM") '将自定义资源中101号资源读入数组
      '注意,微软的帮助中对加载定义资源的说明有误,硬是资源标识为"CUSTOM"而非数字
      If Dir(App.Path & "\Jpeg.jpg") = "" Then '尚未存在
        Open App.Path & "\Jpeg.jpg" For Binary As #1 '以二进制方式生成Jpeg.jpg      For Counter = 0 To FILESIZEOFJPEG - 1 '注意因为从0 Byte开始因此以文件大小 - 1Byte 为终 
            Put #1, , Jpeg(Counter)
        Next Counter 
        Close #1
       End If
    End Sub
      
      

  6.   

    Attribute VB_Name = "ResFiles"
    Option Explicit
    '******* API声明:得到系统临时目录 *********
    Private Declare Function GetTempPath Lib "Kernel32" Alias "GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
    Private Declare Function GetTempFilename Lib "Kernel32" Alias "GetTempFileNameA" (ByVal lpszPath As String, ByVal lpPrefixString As String, ByVal wUnique As Long, ByVal lpTempFilename As String) As Long
    '*******************************************Public Function LoadPRIRes(ByVal ResourceID As Long,   Optional ByVal TempFile) As string
    Attribute LoadPRIRes.VB_Description = "读取自定义资源"
    '函数定义:     ResourceID      - 自定义资源 ID    Dim sFileName As String
        Dim k As Long, t As Long
           
        If IsMissing(TempFile) Then
            GetTempFile "", "~nt", 0, sFileName
        Else
            sFileName = TempFile
        End If
        
        If SaveResItemToDisk(ResourceID, sFileName, t) = 0 Then
              LoadPRIRes = sFileName
        End If
    End FunctionPrivate Function SaveResItemToDisk(ByVal iResourceNum As Integer, ByVal sDestFileName As String, ) As Long
        '=============================================
        'Saves a resource item to disk
        'Returns 0 on success, error number on failure
        '=============================================
           
        Dim bytResourceData()   As Byte
        Dim iFileNumOut         As Integer
        Dim sResourceType As String
        On Error GoTo SaveResItemToDisk_err
        
        sResourceType = "PRIVATE"  '自定义资源类型名
        
        bytResourceData = LoadResData(iResourceNum, sResourceType)
        
        iFileNumOut = FreeFile
        
        Open sDestFileName For Binary Access Write As #iFileNumOut
                    Put #iFileNumOut, , bytResourceData
        Close #iFileNumOut
        
        SaveResItemToDisk = 0
        Exit Function
    SaveResItemToDisk_err:
        SaveResItemToDisk = Err.Number
    End FunctionPrivate Function GetTempFile(ByVal strDestPath As String, ByVal lpPrefixString As String, ByVal wUnique As Integer, lpTempFilename As String) As Boolean
        
        If strDestPath = "" Then
            strDestPath = String(255, vbNullChar)
            If GetTempPath(255, strDestPath) = 0 Then
                strDestPath = UZAm.sPath
            End If
        End If
        lpTempFilename = String(255, vbNullChar)
        GetTempFile = GetTempFilename(strDestPath, lpPrefixString, wUnique, lpTempFilename) > 0
        lpTempFilename = StripTerminator(lpTempFilename)
    End Function这是我正在使的源码。