2014-10-23 9 views
0

Я пытался отобразить все доступные имена принтеров на сервере и количество связанных с ними лотков. Как отобразить количество лотков, связанных с принтером?Получить имена принтеров и количество лотков

Я использовал следующий код. Он работает, но не отображает связь со всей информацией. Должен ли я включать messageBox? Как отобразить всю эту информацию?

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Printing; 
using System.Drawing.Printing; 
using System.Management; 

namespace Find 
{ 
class Program 
{ 
    static void Main(string[] args) 
    { 


     var printerQuery = new ManagementObjectSearcher("SELECT * from Win32_Printer"); 
     foreach (var printer in printerQuery.Get()) 
     { 
      var name = printer.GetPropertyValue("Name"); 
      var status = printer.GetPropertyValue("Status"); 
      var isDefault = printer.GetPropertyValue("Default"); 
      var isNetworkPrinter = printer.GetPropertyValue("Network"); 

      Console.WriteLine("{0} (Status: {1}, Default: {2}, Network: {3}", 
         name, status, isDefault, isNetworkPrinter); 


      } 


     } 
    } 
} 
+0

Какая информация отсутствует? –

+0

ничего не отображает. Когда я выполняю отладку, я вижу результаты и имя принтеров в локальном окне. Я хотел бы отобразить всю информацию в новом окне. –

ответ

0

Ваш код отлично подходит для меня. Вероятно, ваше консольное окно отображает информацию очень быстро, а затем выходит. Попробуйте добавить Console.ReadKey() в конце вашего основного метода, чтобы сеанс консоли оставался после отображения информации.

В конце своего главного метода, добавить что-то вроде:

Console.Write("\nDone! Press any key to exit..."); 
Console.ReadKey();