我有一個控制檯程序,它需要一種方法來使我的電腦上的聲音靜音。如何以編程方式禁用聲音?
下面是這樣做的代碼,但它是爲WF而編寫的。控制檯程序有一個更簡單的模擬程序?
using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace VolumeOff
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
[DllImport("winmm.dll", SetLastError = true, CharSet = CharSet.Auto)]
public static extern uint waveOutGetVolume(uint hwo, ref uint dwVolume);
[DllImport("winmm.dll", SetLastError = true, CallingConvention =
CallingConvention.Winapi)]
public static extern int waveOutSetVolume(uint uDeviceID, uint dwVolume);
private void button1_Click(object sender, EventArgs e)
{
uint volume = 0;
uint hWO = 0;
waveOutGetVolume(hWO, ref volume);
textBox1.Text = volume.ToString();
}
private void button2_Click(object sender, EventArgs e)
{
uint hWO = 0;
waveOutSetVolume(hWO, Convert.ToUInt32(textBox1.Text.ToString()));
}
}
}
編輯1: 順便提一下,此代碼的工作有點不對勁。使用此滑塊調整系統托盤中的音量(可調整Windows中的音量)不會移動。印象是,我的應用程序不調節系統的音量,而是調節其他音量。
。或者5,如果你計算使用語句。無法讓__much__更容易嗎? – TaW
你有什麼試圖從這個控制檯應用程序?順便說一句,這段代碼片段使用了您通常希望避免的遺留API。 –
@TaW什麼?我不知道怎麼做。如果你知道,然後顯示 – dima