如何确定打印机是否是xps? C#

时间:2013-09-16 11:05:31

标签: c# xps printers

如何确定打印机是否为xps? 我找到了从wmi获取属性“已发布”的方法(如果设备不是物理的话,它设置为false),但我想确定打印机是否是xps writer。 感谢

2 个答案:

答案 0 :(得分:0)

打印机由他们使用的驱动程序定义,而不是名称,因此XPS打印机将使用驱动程序Microsoft XPS Document Writer。这将是一个可靠的测试,直到第三方创建另一个具有不同名称的XPS打印驱动程序,我预计不会很快发生,如果有的话。

答案 1 :(得分:0)

如果从CPrintInfo类中检测到,则打印到XPS文件将返回以下值 -



CPrintInfo::m_pPD->GetDriverName() returns "winspool"
CPrintInfo::m_pPD->GetDeviceName() returns "Microsoft XPS Document Writer"
CPrintInfo::m_pPD->GetPortName() returns "XPSPort:"




因此,通过检查设备名称和端口名称来确定它是否为XPS可能是安全的。