2012-04-19 21 views
5

Tôi đang cố gắng nắm bắt mọi lệnh in được gửi tới máy in trong mạng cục bộ của chúng tôi. Tôi muốn hiển thị một số thuộc tính của công việc như tên công việc, thời gian gửi, v.v.Cách bắt các lệnh in trong C# .NET

Tôi đã thử một vòng lặp while nhưng nó không bắt được công việc in của tôi, có thể là do nó xảy ra trong khi luồng đang ngủ. Có sự kiện nào mà tôi có thể đăng ký và xử lý không? Tôi không muốn dành tất cả tài nguyên CPU cho công việc lặp đi lặp lại này.

Tôi cố gắng này:

public static void WritePrinterJobs() 
    { 
     while (true) 
     { 
      foreach (var job in LocalPrintServer.GetDefaultPrintQueue().GetPrintJobInfoCollection()) 
      { 
       Console.WriteLine(job.Submitter + " " + job.TimeJobSubmitted.ToShortDateString()); 
      } 
      Thread.Sleep(100); 
     } 
    } 

EDIT: Đoạn mã trên thực sự hoạt động, bạn không cần phải đi cấp dưới nếu nó làm việc cho bạn, sai lầm của tôi đã không được cấu hình máy in mặc định một cách chính xác .

+1

http://stackoverflow.com/questions/6506916/events -trong-printqueue – adt

+0

Hãy để nó được lưu ý rằng nếu bạn đang sử dụng một vòng lặp foreach đó là liên tục chạy, nếu rất nhiều công việc in ấn xảy ra cùng một lúc, các tài liệu có nghĩa là sẽ được in có thể được in trước khi bạn đang mã tìm thấy nó –

+0

Nhưng tôi vẫn phải kiểm tra lại công việc in bằng bộ hẹn giờ? Tôi nghĩ rằng không có loại sự kiện JobAdded mà tôi có thể móc, phải không? –

Trả lời

1

Thử thiết bị quản lý cửa sổ. Không cần thăm dò ý kiến ​​khi chúng tôi có các sự kiện và các đại biểu. Xem here để biết giải pháp.

+0

Trong bài viết của bạn liên kết được cung cấp có chứa, ông vẫn thăm dò ý kiến ​​các công việc. Không có loại sự kiện JobAdded nào trong bài viết. Tôi có bị mất không? –

+0

oh tôi hiểu rồi. Một ổ đĩa máy in có thể cung cấp các sự kiện như vậy, nhưng hiệu quả các trình điều khiển sẽ được làm việc bỏ phiếu. – ldgorman

+0

có bạn nhìn vào [System.printing] (http://msdn.microsoft.com/en-us/library/system.printing.aspx) – ldgorman

Các vấn đề liên quan