问题描述
我需要在运行时设置一些设置,而无需重新启动。使用 X-Mouse Controls 作为指南,我找到了一种以编程方式使用 SystemParametersInfo()
来设置活动窗口跟踪 (SPI_SET_ACTIVEWINDOWTRACKING
),而不是在焦点上提高窗口 (SPI_SET_ACTIVEWNDTRKZORDER
) 的方法,以及活动窗口跟踪超时 (SPI_ACTIVEWNDTRKTIMEOUT
)。
所有这三个设置都可以通过注册表项获得,但更改注册表中的值需要重新启动。另一方面,使用 SystemParamtersInfo()
调用可以避免重新启动。
public static void SetActiveWindowTracking(bool enabled)
{
bool result = NativeMethods.SystemParametersInfo((uint) SPI.SPI_SETACTIVEWINDOWTRACKING,UiParamNoOp,enabled.AsUIntPtr(),SpifWrite);
if (!result)
{
throw new Win32Exception(Marshal.GetLastWin32Error());
}
}
我要解决的下一个设置是禁用蓝牙绝对音量。此设置在注册表中可用,位于 HKEY_LOCAL_MACHINE\SYstem\CurrentControlSet\Control\Bluetooth\Audio\AVRCP\CT
。但是,如果我只是更改此值,则必须重新启动才能启用我的新设置。我有兴趣在不重新启动的情况下更改此设置,类似于上面的三个设置。有没有我可以调用的函数,SystemParametersInfo()
或类似的函数,它可以让我在不重启的情况下调整此设置?
顺便说一句,我正在使用 WPF 在 C♯ 中工作。但是,我愿意接受其他解决方案。
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)