音乐嵌入.exe文件

'**********************************************************************
'**模    块 名:GetResFile
'**说       明:将自定义资源中的文件释放出来
'**描       述:直接使用二进制写,不需要再指定文件大小了.
'**********************************************************************
Public Sub GetResFile(ByVal ResID As Long, ByVal FileName As String)
       Dim bFile() As Byte
       Dim Counter As Long
       bFile = LoadResData(ResID, "CUSTOM") '将自定义资源中资源读入数组
       If Dir(FileName) = "" Then                 '只有文件不存在时,才释放
           Open FileName For Binary As #1
               Put #1, , bFile
           Close #1
       End If
End Sub
把以上的代码保存为GetResFile.bas,并在工程中添加,然后把你的MP3以自定义资源的方式加入工程(资源文件编辑器里面)记下每首歌的资源ID,就可以使用以下语法释放:
GetResFile 101,app.path & "\1.mp3"

 =============================================================================
Option Explicit
Private Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long
Private Declare Function sndPlaySoundFromMemory Lib "winmm.dll" Alias "sndPlaySoundA" (lpszSoundName As Any, ByVal uFlags As Long) As Long
Public Const SND_ASYNC = &H1&
Public Const SND_MEMORY = &H4&
Private Sub Command5_Click() 注释:播放 WAV 文件
Dim bArr() As Byte
bArr = LoadResData(102, "WAVE")
sndPlaySoundFromMemory bArr(0), SND_ASYNC Or SND_MEMORY
End Sub


-------------------------------------
MCIcommand 比较好使 别用plandsound
==========================================================================
这是VB2005

My.Computer.Audio.Play("xxx.wav")

快用2005把,别再用API调用自虐了
===========================================================================
'添加Command1 Command 与资源文件 .res
'资源文件选最右边田字型的那个图标
'使用Mcisendstring的歌曲路径不能含空格,例如Program Files 要改成Progra~1,歌曲名也不能带空格,例test 123.mp3要改成test123.mp3

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 Long
Public fname As String, AA As String, appdisk As String
Private Sub Form_Load()
 Dim v
 Dim byt() As Byte
 Me.Move (Screen.Width - Me.Width) \ 2, (Screen.Height - Me.Height) \ 2 '窗体置屏幕中间
 Command1.Caption = "播 放"
 Command2.Caption = "停 止"
 'appdisk = Trim(App.Path)
 'If Right(appdisk, 1) <> "\" Then appdisk = appdisk & "\"
 'fname = appdisk & "wf.mp3"
 fname = "d:\wf.mp3" '把歌曲释放到d:\,因vb98在Pgrogram File...里面.
 If Dir(fname) = "" Then
 v = LoadResData(101, "CUSTOM")
 byt = v
 Open fname For Binary As #1
 Put #1, 1, byt()
 Close #1
 End If
End Sub

Private Sub Command1_Click()
 On Error Resume Next
 fname = CommonDialog1.FileName
 mciSendString "play " & fname, vbNullString, 0, 0
End Sub

Private Sub Command2_Click()
 mciSendString "stop " & fname, vbNullString, 0, 0
End Sub

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
'这是从资源文件里调用msvbvm60.dll 注册的代码 '本代码是放在模块 Moudule1.bas 里面,不是放在Form1里面的. '要注册.dll .ocx最好是放在.bas里面,并把启动项设为Sub Main '否则有可能在还没进入窗体执行注册的动作前,就产生错误而中断了 '尤其是98系统之下的msvbvm60.dll '先建立一个资源文件, 在 Custom 101 装载 msvbvm60.dll Global winsys$, appdisk$, aa$ Sub Main() On Error Resume Next If App.PrevInstance Then MsgBox "本系统已运行中, 不得重复加载!!", vbOKOnly, "菜鸟多媒体桌面工具": End appdisk = IIf(Right(App.Path, 1) = "\", App.Path, App.Path & "\") winsys = GetSyspath Call regdllocx Form1.Show End Sub Private Sub regdllocx() On Error Resume Next Dim byt() As Byte aa = winsys & "msvbvm60.dll" If Dir(aa) = "" Then byt = LoadResData(101, "CUSTOM") Open aa For Binary As #1 Put #1, 1, byt() Close #1 End If If Dir(aa) <> "" Then aa = "Regsvr32 /s " & aa Call Shell(aa, vbHide) End If End Sub Public Function GetSyspath() As String '获取system32路径 aa = Trim(Environ("ComSpec")) GetSyspath = Mid(aa, 1, InStrRev(aa, "\")) End Function '直接从资源文件调用 .bmp图片(只允许.bmp),不必释放到硬盘 'Me.Icon = LoadResPicture(101, vbResIcon) '注释:加载图标 'Picture1.Picture = LoadResPicture(101, vbResBitmap) '注释:加载位图 'Command1.MouseIcon = LoadResPicture(101, vbResCursor) '注释:加载光标' '播放 WAVE 声音(只允许.wav) Option Explicit Private Declare Function sndPlaySoundFromMemory Lib "winmm.dll" Alias "sndPlaySoundA" (lpszSoundName As Any, ByVal uFlags As Long) As Long Const SND_ASYNC = &H1 Const SND_MEMORY = &H4 Private Sub Command1_Click() Dim bArr() As Byte bArr = LoadResData(101, "CUSTOM") DoEvents sndPlaySoundFromMemory bArr(0), SND_ASYNC Or SND_MEMORY End Sub 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cbm666/archive/2008/03/08/2158287.aspx
将webview2.dll编译到.exe文件中,可以通过以下几个步骤实现。 首先,确保已安装Microsoft Edge WebView2的运行时。这是因为webview2.dll是Microsoft Edge WebView2的核心组件,用于在应用程序中嵌入和使用Microsoft Edge浏览器。 接下来,打开Visual Studio,创建一个新的Windows Forms或WPF应用程序项目。然后,进入项目的属性设置,在“生成选项”中找到“目标平台”并选择合适的目标平台版本(如x86、x64、AnyCPU)。 然后,在项目的引用中添加WebView2的引用。在解决方案资源管理器中,右键单击“引用”,选择“管理NuGet程序包”。在NuGet包管理器中,搜索“Microsoft.edge.webview2”,然后安装最新版本的WebView2运行时。 接着,将webview2.dll文件添加到项目中。打开解决方案资源管理器,右键单击项目,选择“添加” -> “现有项”。在文件对话框中,找到并选择webview2.dll文件,并单击“添加”按钮。 最后,在应用程序的代码中使用WebView2控件。在主窗体或其他相关窗体中,将WebView2控件拖放到设计视图中,并在代码中引用控件。使用控件的方法、事件和属性来加载和显示Web内容,如加载URL、执行JavaScript脚本、导航等。 编译项目时,webview2.dll将被嵌入到生成的.exe文件中。这样,您就可以将包含WebView2控件的应用程序部署到其他计算机上,而无需单独安装WebView2运行时。 总而言之,将webview2.dll编译到.exe文件中需要确保已安装WebView2运行时,并在Visual Studio中设置和使用WebView2的相关引用和控件。这样可以创建一个包含WebView2功能的自包含的应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yueliang2100

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值