转换的vb代码,但运行不正确。
大家看看是那方面的问题,谢谢!
Function long waveOutGetVolume(long uDeviceID , ref long lpdwVolume ) Library "winmm.dll"
Function long waveOutSetVolume(long uDeviceID , long dwVolume ) Library "winmm.dll"
Subroutine CopyMemory(any hpvDest , any hpvSource, long cbCopy) Library "kernel32.dll" Alias for "RtlMoveMemory"
实例变量:
constant long WAVE_MAPPER = -1
/*****************************************************************
*函数名称: setwavevolume
*参 数: long lvolume by value , long rvolume by value
*作 用: 设置系统音量
****************************************************************/
long svolume
integer volumeset[2]
if lvolume > 32767 then
lvolume = lvolume - 65536
end if
if rvolume > 32767 then
rvolume = rvolume - 65536
end if
volumeset[1] = lvolume
volumeset[2] = rvolume
copymemory(svolume , volumeset[1] , 4)
waveoutsetvolume(WAVE_MAPPER , svolume)
/*****************************************************************
*函数名称: getwavevolume
*参 数: long lvolume by refence , long rvolume by refence
*作 用: 获得系统音量
****************************************************************/
long svolume
long volumeset[2]
waveoutgetvolume(WAVE_MAPPER , svolume)
copymemory(volumeset[1], svolume , 4)
lvolume = volumeset[1]
rvolume = volumeset[2]
if lvolume < 0 then
lvolume = lvolume + 65536
end if
if rvolume < 0 then
rvolume = rvolume + 65536
end if