2

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

在此处输入图像描述

4

2 回答 2

8

应用程序可以通过control.exe 在新进程中执行以编程方式打开控制面板。MSDN指出,调用控制面板项的首选方法是使用其规范名称,该名称是非本地化的且跨版本稳定。从 Windows Vista 开始,每个控制面板项都有一个规范名称;MSDN 提供了标准 Windows 控制面板项目的列表。此列表表明设备和打印机项目的规范名称是Microsoft.DevicesAndPrinters

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

//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");
于 2013-06-28T02:14:26.603 回答
4

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

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

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();
于 2013-06-27T09:18:48.287 回答