3 回答
TA贡献2037条经验 获得超6个赞
这应该工作。
using System.Drawing.Printing;
...
PrinterSettings ps = new PrinterSettings();
ps.PrinterName = "The printer name"; // Load the appropriate printer's setting
之后,可以读取PrinterSettings 的各种属性。
请注意,ps.isValid()可以查看打印机是否实际存在。
编辑:另外一条评论。Microsoft建议您使用PrintDocument并修改其PrinterSettings,而不是直接创建PrinterSettings。
TA贡献1911条经验 获得超7个赞
请注意,dowski和Panos引用的文章(MSDN Win32_Printer)可能会引起误解。
我指的是大多数数组的第一个值。有些以1开头,有些以0开头。例如,“ ExtendedPrinterStatus ”表中的第一个值是1,因此,您的数组应该是这样的:
string[] arrExtendedPrinterStatus = {
"","Other", "Unknown", "Idle", "Printing", "Warming Up",
"Stopped Printing", "Offline", "Paused", "Error", "Busy",
"Not Available", "Waiting", "Processing", "Initialization",
"Power Save", "Pending Deletion", "I/O Active", "Manual Feed"
};
另一方面,“ ErrorState ”表中的第一个值是0,因此,您的数组应如下所示:
string[] arrErrorState = {
"Unknown", "Other", "No Error", "Low Paper", "No Paper", "Low Toner",
"No Toner", "Door Open", "Jammed", "Offline", "Service Requested",
"Output Bin Full"
};
顺便说一句,“ PrinterState ”已过时,但是您可以使用“ PrinterStatus ”。
- 3 回答
- 0 关注
- 787 浏览
添加回答
举报