Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 以编程方式打开';设置关联';在WPF应用中?_C#_Wpf_Windows_Controlpanel - Fatal编程技术网

C# 以编程方式打开';设置关联';在WPF应用中?

C# 以编程方式打开';设置关联';在WPF应用中?,c#,wpf,windows,controlpanel,C#,Wpf,Windows,Controlpanel,我希望我的用户能够按下按钮并启动给定的控制面板项,例如“设置关联”窗口。必须适用于任何Windows版本,但路径如下: 控制面板\所有控制面板项目\默认程序\设置关联 我正在使用C#/WPF来实现这一点,但是找不到有关如何为上面这样的特定控制面板页面以及适用于所有Windows版本的页面实现这一点的信息 谢谢 更新 以下操作用于访问页面: System.Diagnostics.Process.Start("C:\\Windows\\System32\\control.exe", "/name M

我希望我的用户能够按下按钮并启动给定的控制面板项,例如“设置关联”窗口。必须适用于任何Windows版本,但路径如下:

控制面板\所有控制面板项目\默认程序\设置关联

我正在使用C#/WPF来实现这一点,但是找不到有关如何为上面这样的特定控制面板页面以及适用于所有Windows版本的页面实现这一点的信息

谢谢

更新

以下操作用于访问页面:

System.Diagnostics.Process.Start("C:\\Windows\\System32\\control.exe", "/name Microsoft.DefaultPrograms /page pageFileAssoc");

您应该使用Process类来运行要显示的控制面板项的规范地址。 您可以通过执行c:\windows\system32\control.exe来显示控制面板窗口,然后您应该添加规范名称作为此进程的参数

public static void Main()
    {
        Process myProcess = new Process();

        try
        {
            myProcess.StartInfo.FileName = "c:\\windows\\system32\\control.exe";
            myProcess.Start();
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
        }
    }

有关规范名称的详细信息,请参阅。

通过使用控制面板项目的规范名称,您可以从Windows Vista中打开它。您如何传递规范名称并访问特定页面?此:
System.Diagnostics.Process.Start(“C:\\Windows\\System32\\Control.exe”,“/name Microsoft.DefaultPrograms”)
似乎有效,但我不知道如何访问任何子页面。我想访问
pageFileAssoc
。无需担心。我发现
/name Microsoft.DefaultPrograms/page pageFileAssoc
有效。干杯