我试图在服务器上显示所有可用的打印机名称以及与它们关联的托盘数量。如何显示与打印机关联的托盘数量?
我使用了以下代码。它可以工作,但它不显示与所有信息进行通信。我应该包含messageBox吗?如何显示所有这些信息?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Printing;
using System.Drawing.Printing;
using System.Management;
namespace Find
{
class Program
{
static void Main(string[] args)
{
var printerQuery = new ManagementObjectSearcher("SELECT * from Win32_Printer");
foreach (var printer in printerQuery.Get())
{
var name = printer.GetPropertyValue("Name");
var status = printer.GetPropertyValue("Status");
var isDefault = printer.GetPropertyValue("Default");
var isNetworkPrinter = printer.GetPropertyValue("Network");
Console.WriteLine("{0} (Status: {1}, Default: {2}, Network: {3}",
name, status, isDefault, isNetworkPrinter);
}
}
}
}
答案 0 :(得分:0)
您的代码适用于我。您的控制台窗口可能非常快速地显示信息然后退出。尝试在Main方法的末尾添加Console.ReadKey()
,以便在显示信息后保留控制台会话。
在Main方法结束时,添加如下内容:
Console.Write("\nDone! Press any key to exit...");
Console.ReadKey();