通过C#显示“设备和打印机”窗口?

使用C#,如何显示“设备和打印机”窗口,如下图所示?

在这里输入图像说明

Solutions Collecting From Web of "通过C#显示“设备和打印机”窗口?"

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

您可以通过在命令提示符下运行命令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();