如何使用 c# 访问控制面板->声音->通信对话框?

Posted

技术标签:

【中文标题】如何使用 c# 访问控制面板->声音->通信对话框?【英文标题】:How to access the Control Panel->Sound->Communications dialog with c#? 【发布时间】:2013-01-14 16:35:36 【问题描述】:

我正在使用一个经常与某种形式的 Windows 电话通话一起使用的程序。

在我的程序执行期间发生的其他声音有时会被抑制,因为使用该程序的人将在“声音”->“通信”对话框中进行设置,这会导致这种情况。

有没有办法以编程方式访问此对话框并为用户调整选项而无需他们这样做?

后续问题;有什么方法可以向 Windows 提供程序白名单,以确定哪些程序不应用这些设置?

我刚刚开始调查这个问题,因此非常感谢任何意见!

【问题讨论】:

可能这个问题能给你指点***.com/questions/80918/… 感谢您的回复和链接! 【参考方案1】:

您可以直接访问对话框保存到的注册表设置,以更改选项。

HKCU\Software\Microsoft\Multimedia\Audio\UserDuckingPreference

DWORD 的值设置为 0、1、2 或 3,以在对话框中设置相应的值(从上到下)。

【讨论】:

这看起来真的很像答案!我已经手动测试过它(没有 C#),它确实改变了这个对话框选项。假设您可以使用 C# 成功地操作它(我没有理由认为您不能),这听起来很棒!谢谢!【参考方案2】:

我认为没有办法使用应用程序修改此类选项...但是,如果您还需要它来处理声音,PlaySound 是 API,另请参阅 Play System Sounds。

【讨论】:

感谢您的回复,以及值得阅读的想法!

以上是关于如何使用 c# 访问控制面板->声音->通信对话框?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 C# 或 cmd 将程序添加到控制面板程序中

win10系统突然没有声音

IIS部署C#项目,并且其他电脑也可以访问

C#中如何控制播放音乐的声音大小

javascript alert() 框的默认声音

如何设置IIS拒绝访问?