如何检测网络上的打印机状态,如缺纸、缺墨、正在打印、以及获取打印机任务列表的??
System.Printing只能检测本地的打印机,检测网络的总是抛异常:Win32错误...卷标错误什么的,如何解决??
System.Drawing.Printing能获取打印机属性,但是获取不到任务列表和状态
不建议用WMI,太慢了,有什么第三方控件没??或者别的方法??
先谢谢了,急~~~~~~~~~

解决方案 »

  1.   

    http://www.cnblogs.com/xiaogelove/archive/2010/01/06/1640621.html
    http://www.xueit.com/html/2010-01-06/21-593412692703.html
    给你俩参考  我也是从Google搜的
      

  2.   

    [DllImport("winspool.drv", SetLastError = true, CharSet = CharSet.Auto)] 
      [return: MarshalAs(UnmanagedType.Bool)] 
      private static extern bool EnumPrinters ([MarshalAs(UnmanagedType.U4)] PRINTER_ENUM flags, 
       [MarshalAs(UnmanagedType.LPStr)] string sName, 
       uint iLevel, 
       IntPtr pPrinterDesc, 
       uint iSize, 
       [MarshalAs(UnmanagedType.U4)] ref uint iNeeded, 
       [MarshalAs(UnmanagedType.U4)] ref uint iReturned 
       ); 
    System.Management.ManagementClass   mc   =new   ManagementClass("Win32_Printer")   
      System.Management.ManagementObjectCollection   mocs   =   mc.GetInstances();     
      foreach(ManagementObject   mo   in   mocs)   
      {  }