【问题标题】:Display the "Devices and Printers" window via C#?通过 C# 显示“设备和打印机”窗口?
【发布时间】:2013-06-27 09:16:30
【问题描述】:

使用 C#,如何显示此屏幕截图所示的“设备和打印机”窗口?

【问题讨论】:

    标签: c# windows


    【解决方案1】:

    应用程序可以通过执行control.exe in a new process 以编程方式打开控制面板。 MSDN states 表示调用控制面板项的首选方法是使用其规范名称,该名称是非本地化的且跨版本稳定。从 Windows Vista 开始,每个控制面板项都有一个规范名称; MSDN 为标准的 Windows 控制面板项目提供了a list。此列表表明 Devices and Printers 项的规范名称是 Microsoft.DevicesAndPrinters

    通过使用规范名称作为参数 (/name <canonical name or GUID>) 调用 control.exe,可以在新进程中打开控制面板项:

    //note: assumes (using System.Diagnostics and System.IO)
    
    string controlpath = Path.Combine(
        Environment.GetFolderPath(Environment.SpecialFolder.System),
        "control.exe"); // path to %windir%\system32\control.exe
                        // (ensures the correct control.exe)
    
    Process.Start(controlpath, "/name Microsoft.DevicesAndPrinters");
    

    【讨论】:

      【解决方案2】:

      您可以通过在命令提示符中运行命令control printers 打开“设备和打印机”窗口。

      知道了这一点,您可以使用 /C 参数运行 cmd 来告诉它运行该命令:

      Process.Start("cmd", "/C control printers");
      

      如果您不想显示命令提示符,可以使用:

      var Process = new Process();
      var ProcessStartInfo = new ProcessStartInfo("cmd", "/C control printers");
      ProcessStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
      Process.StartInfo = ProcessStartInfo;
      Process.Start();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-12-21
        • 1970-01-01
        • 1970-01-01
        • 2013-01-20
        • 1970-01-01
        • 1970-01-01
        • 2020-04-08
        相关资源
        最近更新 更多