c# - 在WPF应用程序中以编程方式打开 'Set Associations'?

标签 c# wpf windows controlpanel

我希望我的用户能够按下按钮并启动给定的控制面板项目,例如“设置关联”窗口。必须适用于任何 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);
        }
    }

参见here有关规范名称的更多信息。

关于c# - 在WPF应用程序中以编程方式打开 'Set Associations'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32934734/

相关文章:

c# - 如何加载静态字段?

c# - Path.GetTempPath() 返回的路径是否保持不变?

wpf - 如何链接滚动条和滚动查看器

ruby-on-rails - 已完成 500 Internal Server Error; RestClient::NotAcceptable(406 Not Acceptable )

c# - 替代 ObservableCollection?

c# - 尝试读取或写入 protected 内存。这通常表明其他内存已损坏

WPF SelectedItem 在 MVVM 中不起作用

c# - Windows 8.1 如何修复这个过时的代码?

c++ - 如何正确传递窗口句柄?

c# - 组枚举成员?