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

VB.NET
大话“基于对象”与“面向对象”
VB 内存分配与流读写 代码
VB.NET语法基础
vb.net与c#.net区别
用VB.Net读写数据库
百万程序员的苦恼-选择VB.NET还是C#
VB.net 多线程实例
VB.NET也区会大小写
VB.NET 2005编写定时关机程序
VB.NET控件编程定制拦截击键动作
如何实现.net程序的进程注入
VB.NET 菜单设计初级入门
VB.NET中关于DataGrid颜色的自定义
VB网络编程中Winsock的使用
VB.net编程教程:编写文字加解密程序
VB.NET中快速访问注册表技巧
VB.NET:在VB.NET中串行化对象
VB.NET:在 VB.NET 编程中使用数组
VB.NET:VB.NET路在何方?
大话“基于对象”与“面向对象”

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 383 ::
收藏到网摘: 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);