如何以编程方式更改系统卷 [英] How to change the System Volume programmatically

查看:82
本文介绍了如何以编程方式更改系统卷的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想更改系统的音量。我使用以下代码:

 使用系统; 
使用 System.Collections.Generic;
使用 System.Linq;
使用 System.Text;
使用 System.Windows.Forms;
使用 System.Runtime.InteropServices;
命名空间 shaped_form
{
class VolumeChange
{
private const int APPCOMMAND_VOLUME_MUTE = 0x80000;
private const int APPCOMMAND_VOLUME_UP = 0xA0000;
private const int APPCOMMAND_VOLUME_DOWN = 0x90000;
private const int WM_APPCOMMAND = 0x319;
[DllImport( user32.dll)]
public static extern IntPtr SendMessageW( IntPtr hWnd, int 消息, IntPtr wParam, IntPtr lParam);
private void btnMute_Click( object sender,EventArgs e)
{
SendMessageW( this .Handle ,WM_APPCOMMAND, this .Handle ,( IntPtr )APPCOMMAND_VOLUME_MUTE);
}
private void btnDecVol_Click( object sender,EventArgs e)
{
SendMessageW( this .Handle ,WM_APPCOMMAND,< b> this .Handle ,( IntPtr )APPCOMMAND_VOLUME_DOWN);
}
私有 void btnIncVol_Click( object sender,EventArgs e)
{
SendMessageW( this .Handle ,WM_APPCOMMAND,< b> this .Handle ,( IntPtr )APPCOMMAND_VOLUME_UP);
}
}
}



但是我在突出显示的位置出现错误,因为shaped_form.VolumeChange不包含定义处理。我从一些互联网资源获得此代码。

并且还请告诉我关于 Intptr 的信息,这里很重要。

解决方案

去看看这个链接

http ://msdn.microsoft.com/en-us/library/aa719104.aspx

I want to change the System's Volume. I am using following code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace shaped_form
{
class VolumeChange
{
private const int APPCOMMAND_VOLUME_MUTE = 0x80000;
private const int APPCOMMAND_VOLUME_UP = 0xA0000;
private const int APPCOMMAND_VOLUME_DOWN = 0x90000;
private const int WM_APPCOMMAND = 0x319;
[DllImport("user32.dll")]
public static extern IntPtr SendMessageW(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam);
private void btnMute_Click(object sender, EventArgs e)
{
SendMessageW(this.Handle, WM_APPCOMMAND, this.Handle,(IntPtr)APPCOMMAND_VOLUME_MUTE);
}
private void btnDecVol_Click(object sender, EventArgs e)
{
SendMessageW(this.Handle, WM_APPCOMMAND, this.Handle,(IntPtr)APPCOMMAND_VOLUME_DOWN);
}
private void btnIncVol_Click(object sender, EventArgs e)
{
SendMessageW(this.Handle, WM_APPCOMMAND,this.Handle,(IntPtr)APPCOMMAND_VOLUME_UP);
}
}
}


But I got an error at the highlighted places as "shaped_form.VolumeChange does not contain a definition for Handle". I got this code from some internet sources.
and also please tell me about Intptr and it's importance here.

解决方案

go and see this link
http://msdn.microsoft.com/en-us/library/aa719104.aspx


这篇关于如何以编程方式更改系统卷的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆