2024年1月24日发(作者:)

《VB初学者》为程序添加背景音乐的方法(windows mediaplayer控件)

方法一:运用windows mediaplayer控件添加程序背景音乐

具体步骤如下

1>为VB添加windows mediaplayer部件

ctrl+T激活添加部件对话框(如右图),勾选如图所示的windows mediaplayer选项,单击应用、确定

工具栏里面出现

按钮,双击添加控件

2>更改windows mediaplayer控件的属性

在窗体(下图)上出现windows mediaplayer控件

选中它,更改它的属性

其中的visible属性设置为false(如下图),这样的话,程序在运行的时候,windows mediaplayer控件是不可见的,其所播放的音乐就可以作为程序的背景音乐了

3>关于windows mediaplayer如何播放音乐文件的问题

解决办法有两种:

第一种:如上图所示,改变控件的URL属性,在百度音乐里搜索到自己希望的背景音乐,复制链接地址粘贴到这里(缺点是程序运行的时候,电脑没有联网或者网络资源不可用时就听不到背景音乐,网速查的时候,音乐会卡;优点是可以缩小程序文件体积)

第二种:把背景音乐整合到工程资源中(缺点是过程麻烦,程序文件体积大;优点是电脑程序启动后,电脑不需联网就可以听到背景音乐,缓冲过程几乎不存在,不受网速影响)

方法如下:

如下图所示,菜单栏选择外接程序——外界程序管理器——选中VB 6 资源编辑器,在右下角加载行为中勾选如右图两项后点击确定,在工具栏里会增加按钮——单击按钮打开“VB 资源编辑器”

在“VB 资源编辑器”里单击“添加自定义资源”按钮打开对话框:“打开一个自定义资源”,选择你需要的音频文件即可

这样之后,调用资源需要用到LoadResDeta语句

代码参考

Private Sub Form_Load()

Dim TempData() As Byte

TempDataPath = "f:3" '引号里你可以自定义盘符和路径作为资源加载的临时存储地址(临时文件)

TempData = LoadResData(101, "CUSTOM") '这是那个文件编号,具体可以自己在整合资源的时候更改,默认是101

Open TempDataPath For Binary Access Write As #1

Put #1, , TempData

Close #1

= TempDataPath

End Sub

运用如下语句可以在程序运行完后删除刚刚提到的临时文件

Private Sub Form_Unload(Cancel As Integer)

Kill "f:3" '刚刚你自己定义的路径(必须相同,否则程序报错)

End Sub

方法二

运用API函数中的mciSendString函数完成多媒体播放

XP下的关机代码

'把下边的代码放在一个模块中,调用ShutDownPC函数

Option Explicit

'ExitWindowsEx的参数uflags,有四个对应值,分别是:

Public Const EWX_LOGOFF = 0 '退出(注销)

Public Const EWX_SHUTDOWN = 1 '关机

Public Const EWX_REBOOT = 2 '重启动

Public Const EWX_FORCE = 4 '强制关机,即不通知现在活动应用程序让其先自我关闭

„如执行多个操作,可以用OR连接

Public Const TOKEN_ADJUST_PRIVILEGES = &H20

Public Const TOKEN_QUERY = &H8

Public Const SE_PRIVILEGE_ENABLED = &H2

Public Const ANYSIZE_ARRAY = 1

Type LUID

lowpart As Long

highpart As Long

End Type

Type LUID_AND_ATTRIBUTES

pLuid As LUID

Attributes As Long

End Type

Type TOKEN_PRIVILEGES

PrivilegeCount As Long

Privileges(ANYSIZE_ARRAY) As LUID_AND_ATTRIBUTES

End Type

Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As

Long) As Long

Declare Function GetCurrentProcess Lib "kernel32" () As Long

Declare Function LookupPrivilegeValue Lib "" Alias "LookupPrivilegeValueA"

(ByVal lpSystemName As String, ByVal lpName As String, lpLuid As LUID) As Long

Declare Function AdjustTokenPrivileges Lib "" (ByVal TokenHandle As Long, ByVal

DisableAllPrivileges As Long, NewState As TOKEN_PRIVILEGES, ByVal BufferLength As

Long, PreviousState As TOKEN_PRIVILEGES, ReturnLength As Long) As Long

Declare Function OpenProcessToken Lib "" (ByVal ProcessHandle As Long, ByVal

DesiredAccess As Long, TokenHandle As Long) As Long

'这个函数就是用于NT关机中使用的

Sub AdjustTokenPrivilegesForNT()

Dim hdlProcessHandle As Long

Dim hdlTokenHandle As Long

Dim tmpLuid As LUID

Dim tkp As TOKEN_PRIVILEGES

Dim tkpNewButIgnored As TOKEN_PRIVILEGES

Dim lBufferNeeded As Long

hdlProcessHandle = GetCurrentProcess()

OpenProcessToken hdlProcessHandle, (TOKEN_ADJUST_PRIVILEGES Or _

TOKEN_QUERY), hdlTokenHandle

LookupPrivilegeValue "", "SeShutdownPrivilege", tmpLuid

With tkp

.PrivilegeCount = 1

.Privileges(0).pLuid = tmpLuid

.Privileges(0).Attributes = SE_PRIVILEGE_ENABLED

End With

AdjustTokenPrivileges hdlTokenHandle, False, tkp, _

Len(tkpNewButIgnored), tkpNewButIgnored, _

lBufferNeeded

End Sub

Public Sub ShutDownPC(ByVal sCode As Long, Optional ByVal IsNt As Boolean = True)

If IsNt = True Then Call AdjustTokenPrivilegesForNT '如果是NT以上系统就要先调用这个

ExitWindowsEx sCode, 0 '注销

End Sub

在VB程序中实现关闭计算机的功能?

我给你贴出来:

VB 6.0开发应用程序时,用户要求在程序内部加入直接关机功能, 使操作全部集中于应用程序的内部进行。为此,笔者编制程序,进行Windows API函数调用,成功地实现了Windows 9x“关闭系统”仿真功能,满足了用户要求,现将设计过程列举如下:

一、设计关机系统界面

新建工程文件及窗体Form1,Form1中加入选项控件Option1、 Option2 、 Option3,将它们Caption 属性依次设为“关闭计算机(S)”、“重新启动计算机(R)”、“关闭所有程序并以其他用户身份登录”;再加入命令按钮Command1和Command2、Command3且Caption属性分别设为“是”、“否”、“帮助”。即设计一个Windows 98“关闭系统”的仿真界面。

二、通用事件代码中对API 函数ExitWindowsEx( )进行声明

VB 6.0应用程序设计时,调用丰富Windows API 函数能完成VB本身没有提供或无法实现的功能,这些函数都属于“操作系统”级别,能使应用程序增添不少色彩。其中ExitWindowsEx( )函数具备关闭Windows系统的功能,调用前必须进行声明:

Declare Function ExitWindowsEx Lib ″user32″( ByVal uFlags As Long,ByVal dwReserved As Long) As Long

参数说明:此函数有两个参数vFlags、dwReserved,其中vFlags参数决定用户需要做的关机操作,dwReserved参数是作为保留而没有使用。

vFlags 参数可以取以下几种常量(或相应值):

EWX_ShutDown 1 关闭计算机

EWX_ReBoot 2 重新启动计算机

EWX_LogOff 0 关闭所有程序并以其他用户身份登录

三、关机功能所有程序代码清单如下:

′通用代码中对ExitWinwodsEx( )函数声明

Private Declare Function ExitWindowsEx Lib ″user32″ (ByVal uFlags As Long,ByVal dwReserved As Long) As

Long

Const ShutDown = 1

Const ReBoot = 2

Const LogOff = 0

Dim Sh As Long

If = True Then

′关闭计算机选项

Sh = ExitWindowsEx(ShutDown, dwReserved)

End If

If = True Then

′重新启动计算机选项

Sh = ExitWindowsEx(ReBoot, dwReserved)

End If

If = True Then

′关闭所有程序并以其他用户

身份登录选项

Sh = ExitWindowsEx(LogOff, dwReserved)

End If

End Sub

Private Sub Command2_Click()

Unload Me

End Sub

F5运行程序,即进行关机操作!该功能加入用户开发的应用程序,相当实用。

如何用vb实现点击按钮执行下载动作

Private Declare Function ShellExecute Lib "" Alias "ShellExecuteA"

(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String,

ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd

As Long) As Long

'API声明

Private Sub Command1_Click()'下载按钮

Dim DownIt() As Byte

Dim SoftUrl as String'存放下载网址

Dim tPaht as String'下载之后存放在本地的位置及文件名

softurl="/"'举例 修改后面的网址即可

tpath="C:"'举例 修改""之间的本地地址即可

DownIt()=L(SoftUrl, icByteArray)

Open tPath For Binary Access Write As #1

Put #1, , DownIt()

Close #1

'----------------

'如需自动运行 将下行代码中的’去掉

'Shell tpath, vbNormalFocus

'----------------

End Sub

Private Sub Command2_Click()'打开网页按钮

Dim ret As Long

'将网址替换成需要的网址就可以了 保留

ret = ShellExecute(, "open", "网址", "", , 1)

End Sub

自动启动那个 使用 shell 文件路径,vbnormalfocus 就可以了;可以使用CommonDialog控件获取文件路径