当前位置: 首页 > 图文教程 > .Net技术 > VB.NET > C#、VB.NET使用Windows API控制系统音量及静音

VB.NET
[转]全面剖析VB.NET技术(1)
[转]全面剖析VB.NET技术(2)
基于VB.NET技术的表达式计算器
VB.NET多线程技术及其实现
走近VB.Net VB.Net问答全集
如何应用VB.NET MonthCalendar控件
VB.NET 拖动无边框窗体编程实例
.Net 虚拟框架的实现原理
实现将数字转换为汉字大写
vb.net access xml file
vb.net入门:MDI 窗体的基础使用
C#、VB.NET使用Windows API控制系统音量及静音
vb.net access xml file
VB.NET的阳历与农历转换的算法
用VB创建FTP组件(get)
vb中利用xmlhttp来下载远程文件
.net中快捷键定义
.NET对PE结构的扩展
VB.net中Delegate和Event
VB.NET DES 加密/解密类库,支持文件和中文/UNICODE字符,返回BASE64编码字符串

VB.NET 中的 C#、VB.NET使用Windows API控制系统音量及静音


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 382 ::
收藏到网摘: n/a

今天,有个朋友问到:如何用.NET控制系统的音量和静音?

查了下资料,找到了这个使用API的方法,使用起来很简单,但有些参数的具体值,为什么这么取,我也没搞清楚,实用主义,先用着,呵呵

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

实现的代码如下:

一、引入API定义
[DllImport
("user32.dll"
, CharSet = CharSet
.Auto, SetLastError = true
)]
static extern
IntPtr
SendMessage(IntPtr
hWnd, uint
Msg, uint
wParam, uint
lParam);

const uint
WM_APPCOMMAND = 0x319;
const uint
APPCOMMAND_VOLUME_UP = 0x0a;
const uint
APPCOMMAND_VOLUME_DOWN = 0x09;
const uint
APPCOMMAND_VOLUME_MUTE = 0x08;


 
二、 提高音量
 

SendMessage(this
.Handle, WM_APPCOMMAND, 0x30292, APPCOMMAND_VOLUME_UP * 0x10000);

 
三、 降低音量
SendMessage(this
.Handle, WM_APPCOMMAND, 0x30292, APPCOMMAND_VOLUME_DOWN * 0x10000);


四、 静音与恢复(执行2次恢复原状态)
SendMessage(this
.Handle, WM_APPCOMMAND, 0x200eb0, APPCOMMAND_VOLUME_MUTE * 0x10000);