C#网络打印

use*_*275 5 c# printing networking

我可以通过以下代码获取网络打印机列表:

private void Form1_Load(object sender, EventArgs e)
{
  foreach (String printer in PrinterSettings.InstalledPrinters)
  {
    listBox1.Items.Add(printer.ToString());
  }
}
Run Code Online (Sandbox Code Playgroud)

对于每个网络打印机,我想提取更多信息,如:(a)获取文档信息,如打印的页数,文件名,文件大小等.

(b)从中获取打印文档的计算机IP地址.

(c)获取打印文档的用户名.

我如何实现上述目标?任何代码样本将不胜感激.我是否需要研究Windows Management Instrumentation(WMI)的内容?

Han*_*son 1

您也许可以通过 WMI 获取一些信息:

http://msdn.microsoft.com/en-us/library/Aa394363

如果您需要更多信息,并且您的打印机支持它,您也许可以使用 SNMP,这里的文章\库可能会帮助您了解如何使用它:

http://www.codeproject.com/KB/cs/SNMPDLL.aspx