以编程方式打开Windows 8蓝牙控制面板

时间:2014-07-08 18:12:08

标签: c# .net wpf windows-8 bluetooth

回到Win7和之前,我曾经只能在C#中执行此操作:

Process.Start("control", "bthprops.cpl");

但是,在Windows 8.0和8.1中,虽然该代码仍可正常工作,但它通常只会将您转储到设备控制面板而不是专门的蓝牙面板(它不一致且不可靠)。

我能够找到一个非常好的教程,介绍如何在桌面上创建一个直接打开蓝牙控制面板的快捷方式,但是我已尝试使用Process.Start()进行多次排列并且无法获得此功能在我的应用程序中工作:

http://www.eightforums.com/tutorials/36102-bluetooth-devices-shortcut-create-windows-8-a.html

当我按照Win8盒子上的教程创建快捷方式时,它每次都像魅力一样。请注意我正在寻求实施第一个解决方案,该解决方案打开用于蓝牙的Windows RT / WinStore / ModernUI控制面板,而不是"桌面模式"控制面板。

我希望在WPF应用中使用C#和.Net以编程方式打开蓝牙控制面板。

1 个答案:

答案 0 :(得分:2)

Microsoft TAM为解决此问题而提供的代码如下:

ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = Environment.ExpandEnvironmentVariables(@"%localappdata%\Packages\windows.immersivecontrolpanel_cw5n1h2txyewy\LocalState\Indexed\Settings\en-US\AAA_SettingsPagePCSystemBluetooth.settingcontent-ms");
startInfo.UseShellExecute = true;
Process.Start(startInfo);

请注意,“en-US”文件夹需要替换为当前的区域设置信息才能提供国际化! (还需要语言包。)

然而,他们声称前一种解决方案也应该可靠地运作:

Process.Start("control", "bthprops.cpl");

我将继续与Microsoft合作,以确定为什么更简单的解决方案无法可靠地运行,但上面的代码同时提供了解决方法。