我将如何改变c ++ win32中的音量?另外,我将如何静音/取消静音?谢谢您的帮助!
如何使用C#在Windows 7中调整主音量?
我一直在使用WINMM.DLL看到一个很好的实现在这里,但它与XP和与Windows 7不工作.
我想在键盘上单击使用单位和c#将操作系统音量设置为某个级别,例如我想将Windows音量(不是统一)设置为70:我该怎么做?
void Update()
{
if (Input.GetKeyDown(KeyCode.A))
{
//Set Windows Volume 70%
}
}
Run Code Online (Sandbox Code Playgroud) 我使用以下内容将计算机上的主音频静音/取消静音.现在,我正在寻找一种确定静音状态的方法.在C#中有这么简单的方法吗?
private const int APPCOMMAND_VOLUME_MUTE = 0x80000;
private const int WM_APPCOMMAND = 0x319;
[DllImport("user32.dll")]
public static extern IntPtr SendMessageW(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam);
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用标准SendMessageW()
方法从控制台应用程序取消静音.但是,我们有自己的应用程序作为shell运行,而不是explorer.exe.当我试图取消静音时,没有任何反应; 但是一旦我启动资源管理器它就可以了.是否必须运行资源管理器才能发送消息?
码:
private const int APPCOMMAND_VOLUME_MUTE = 0x80000;
private const int WM_APPCOMMAND = 0x319;
SendMessageW(Process.GetCurrentProcess().MainWindowHandle, WM_APPCOMMAND, Process.GetCurrentProcess().MainWindowHandle, (IntPtr)APPCOMMAND_VOLUME_MUTE);
Run Code Online (Sandbox Code Playgroud)
返回值为SendMessageW()
0.
如果需要资源管理器,是否有人知道另一种取消静音方法?
Side Note
我刚刚尝试使用vbs:
Set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys(chr(&hAD))
Run Code Online (Sandbox Code Playgroud)
并得到了相同的结果.只有在explorer.exe运行时才取消静音.