以windows形式打印
本文关键字:式打印 windows | 更新日期: 2023-09-27 18:04:48
我有一个windows窗体应用程序,我试图打印一些东西,但如果没有实际的打印机(不是xps或其他东西),我想显示一个消息框,表明没有实际的打印机。所以简而言之,我想让它们打印当前计算机中是否有默认设置的真实打印机,这让我检查默认打印机是否真实。
您可以使用System.Management来完成此操作。使用下面的类来解决您的问题:
public class MyClass
{
static void printProps(ManagementObject o, string prop)
{
try
{
Console.WriteLine(prop + "|" + o[prop]);
}
catch (Exception e)
{
Console.Write(e.ToString());
}
}
[STAThread]
static void Main(string[] args)
{
ManagementObjectSearcher searcher = new
ManagementObjectSearcher("SELECT * FROM Win32_Printer where Default=True");
string printerName = "";
foreach (ManagementObject printer in searcher.Get())
{
printerName = printer["Name"].ToString().ToLower();
Console.WriteLine("Printer :" + printerName);
printProps(printer, "WorkOffline");
//Console.WriteLine();
switch (Int32.Parse(printer["PrinterStatus"].ToString()))
{
case 1: Console.WriteLine("Other"); break;
case 2: Console.WriteLine("Unknown"); break;
case 3: Console.WriteLine("Idle"); break;
case 4: Console.WriteLine("Printing"); break;
case 5: Console.WriteLine("Warmup"); break;
case 6: Console.WriteLine("Stopped printing"); break;
case 7: Console.WriteLine("Offline"); break;
}
}
}
}