如何以编程方式更改Windowsaudio设备的友好名称?

什么是适当的API调用,我应该用来重命名Windows上的audio设备? 我的目标是在用户右键单击音量图标并select“回放设备”时更改向用户显示的设备名称。 我相信“友好的名字”是我想改变的财产。

我已经成功地调用了SetupDiSetDeviceProperty ,它返回true。 如果我随后调用SetupDiGetDeviceProperty ,则返回最近设置的值。 但是,这个值似乎只存在于我的应用程序的上下文中 – 系统设置似乎没有变化。

是否有另一个函数调用,而不是SetupDiSetDeviceProperty或除了SetupDiSetDeviceProperty

我一直在以pipe理员身份运行我的应用程序,所以权限不应该成为问题。

我不知道这是否会让你改变它,但根据这个 :(msdn.microsoft.com/en-us/library/windows/desktop/dd316587(v=vs.85).aspx)

PKEY_DeviceInterface_FriendlyName

PKEY_DeviceInterface_FriendlyName属性包含端点设备所连接的音频适配器的友好名称(例如,“XYZ音频适配器”)。

PROPVARIANT结构的vt成员设置为VT_LPWSTR。 PROPVARIANT结构的pwszVal成员指向包含友好名称的以NULL结尾的宽字符字符串。 要求

最低支持的客户端 – Windows Vista(仅适用于桌面应用程序)最低支持的服务器 – Windows server 2008 [仅限桌面应用程序]

标题 – Functiondiscoverykeys_devpkey.h