易语言VISTA系统音量源码
系统结构:GET_APPCOMMAND_LPARAM,HIWORD,LOWORD,A2W,GetVolumnVista,VolumnUp,VolumnDown,Mute,IsMute,SetVolumnVista,QueryInterface,AddRef,Release,EnumAudioEndpoints,GetDefaultAudioEndpoint,GetDevice,RegisterEndpointNotificationCallback,UnregisterEndpointNotificationCallback,QueryInterface,AddRef,Release,Activate,OpenPropertyStore,QueryInterface,AddRef,Release,RegisterControlChangeNotify,UnregisterControlChangeNotify,GetChannelCount,SetMasterVolumeLevel,SetMasterVolumeLevelScalar,GetMasterVolumeLevel,GetMasterVolumeLevelScalar,SetChannelVolumeLevel,SetChannelVolumeLevelScalar,GetChannelVolumeLevel,GetChannelVolumeLevelScalar,SetMute,GetMute,GetVolumeStepInfo,VolumeStepUp,VolumeStepDown,QueryHardwareSupport,GetVolumeRange,API_CoCreateInstance,API_PostMessage,API_SendMessage,API_CLSIDFromProgID,API_CLSIDFromString,API_MultiByteToWideChar,API_WideCharToMultiByte,API_CoInitialize,API_CoUninitialize,API_LocalAlloc,API_LocalFree,API_mixerGetControlDetails,
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ _getChannelVolume
| |
| |------ _按钮1_被单击
| |
| |------ _按钮2_被单击
| |
| |------ _按钮3_被单击
| |
| |------ _按钮4_被单击
| |
| |------ _按钮5_被单击
| |
| |------ _按钮6_被单击
| |
| |------ _按钮7_被单击
| |
| |------ _按钮8_被单击
| |
| |------ _按钮9_被单击
| |
| |------ _按钮10_被单击
| |
| |------ _编辑框1_调节钮被按下
| |
| |------ _滑块条1_位置被改变
| |
| |
======UTILS
| |
| |------ GET_APPCOMMAND_LPARAM
| |
| |------ HIWORD
| |
| |------ LOWORD
| |
| |------ A2W
| |
| |------ _init
| |
| |------ GetVolumnVista
| |
| |------ VolumnUp
| |
| |------ VolumnDown
| |
| |------ Mute
| |
| |------ IsMute
| |
| |------ SetVolumnVista
| |
| |------ _getAddress
| |
| |
======IMMDeviceEnumerator
| |
| |------ _
| |
| |------ QueryInterface
| |
| |------ AddRef
| |
| |------ Release
| |
| |------ EnumAudioEndpoints
| |
| |------ GetDefaultAudioEndpoint
| |
| |------ GetDevice
| |
| |------ RegisterEndpointNotificationCallback
| |
| |------ UnregisterEndpointNotificationCallback
| |
| |
======IMMDevice
| |
| |------ _
| |
| |------ QueryInterface
| |
| |------ AddRef
| |
| |------ Release
| |
| |------ Activate
| |
| |------ OpenPropertyStore
| |
| |
======IAudioEndpointVolume
| |
| |------ _
| |
| |------ QueryInterface
| |
| |------ AddRef
| |
| |------ Release
| |
| |------ RegisterControlChangeNotify
| |
| |------ UnregisterControlChangeNotify
| |
| |------ GetChannelCount
| |
| |------ SetMasterVolumeLevel
| |
| |------ SetMasterVolumeLevelScalar
| |
| |------ GetMasterVolumeLevel
| |
| |------ GetMasterVolumeLevelScalar
| |
| |------ SetChannelVolumeLevel
| |
| |------ SetChannelVolumeLevelScalar
| |
| |------ GetChannelVolumeLevel
| |
| |------ GetChannelVolumeLevelScalar
| |
| |------ SetMute
| |
| |------ GetMute
| |
| |------ GetVolumeStepInfo
| |
| |------ VolumeStepUp
| |
| |------ VolumeStepDown
| |
| |------ QueryHardwareSupport
| |
| |------ GetVolumeRange
| |
| |
======调用的Dll
| |
| |---[dll]------ API_CoCreateInstance
| |
| |---[dll]------ API_PostMessage
| |
| |---[dll]------ API_SendMessage
| |
| |---[dll]------ API_CLSIDFromProgID
| |
| |---[dll]------ API_CLSIDFromString
| |
| |---[dll]------ API_MultiByteToWideChar
| |
| |---[dll]------ API_WideCharToMultiByte
| |
| |---[dll]------ API_CoInitialize
| |
| |---[dll]------ API_CoUninitialize
| |
| |---[dll]------ API_LocalAlloc
| |
| |---[dll]------ API_LocalFree
| |
| |---[dll]------ API_mixerGetControlDetails
调用的DLL命令:
.DLL命令 API_CoCreateInstance, 整数型, "ole32.dll", "CoCreateInstance", ,
.参数 rclsid, 字节集
.参数 pUnkOuter, 整数型
.参数 dwClsContext, 整数型
.参数 riid, 字节集
.参数 ppv, 整数型, 传址
.DLL命令 API_PostMessage, 整数型, "user32", "PostMessageA", , 将一条消息投递到指定窗口的消息队列。投递的消息会在Windows事件处理过程中得到处理。在那个时候,会随同投递的消息调用指定窗口的窗口函数。特别适合那些不需要立即处理的窗口消息的发送 如消息投递成功,则返回TRUE(非零)。会设置GetLastError
.参数 hwnd, 整数型, , 接收消息的那个窗口的句柄。如设为HWND_BROADCAST,表示投递给系统中的所有顶级窗口。如设为零,表示投递一条线程消息(参考PostThreadMessage)
.参数 wMsg, 整数型, , 消息标识符
.参数 wParam, 整数型, , 具体由消息决定
.参数 lParam, 整数型, , 具体由消息决定;
.DLL命令 API_SendMessage, 整数型, "user32", "SendMessageA", , 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum, ; SendMessageByString是该函数的“类型security”声明形式 由具体的消息决定
.参数 窗口句柄, 整数型, , 要接收消息的那个窗口的句柄
.参数 信息值, 整数型, , 消息的标识符
.参数 参数一, 整数型, , 具体取决于消息
.参数 参数二, 整数型, , 具体取决于消息;
.DLL命令 API_CLSIDFromProgID, 整数型, "ole32.dll", "CLSIDFromProgID", ,
.参数 TSzProgID, 文本型, 传址
.参数 T, 整数型, 传址
.DLL命令 API_CLSIDFromString, , "ole32.dll", "CLSIDFromString", ,
.参数 lpsz, 字节集, , Unicode
.参数 pclsid, 字节集
.DLL命令 API_MultiByteToWideChar, 整数型, "kernel32", "MultiByteToWideChar"
.参数 CodePage, 整数型
.参数 dwFlags, 整数型
.参数 lpMultiByteStr, 文本型
.参数 cchMultiByte, 整数型
.参数 lpWideCharStr, 整数型
.参数 cchWideChar, 整数型
.DLL命令 API_WideCharToMultiByte, 整数型, "kernel32", "WideCharToMultiByte"
.参数 CodePage, 整数型
.参数 dwFlags, 整数型
.参数 lpWideCharStr, 字节集
.参数 cchWideChar, 整数型
.参数 lpMultiByteStr, 文本型
.参数 cchMultiByte, 整数型
.参数 lpDefaultChar, 整数型
.参数 lpUsedDefaultChar, 整数型
.DLL命令 API_CoInitialize, , "ole32.dll", "CoInitialize", ,
.参数 pvReserved, 整数型
.DLL命令 API_CoUninitialize, , "ole32.dll", "CoUninitialize", ,
.DLL命令 API_LocalAlloc, 整数型, "kernel32", "LocalAlloc", , 从堆分配内存
.参数 wFlags, 整数型
.参数 wBytes, 整数型
.DLL命令 API_LocalFree, 整数型, "kernel32", "LocalFree", , 释放本地内存信息
.参数 hMem, 整数型
.DLL命令 API_mixerGetControlDetails, 整数型, "winmm.dll", "mixerGetControlDetailsA", , 获取指定混合器控件
.参数 hmxobj, 整数型
.参数 pmxcd, MIXERCONTROLDETAILS
.参数 fdwDetails, 整数型
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。