Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Работа с принтером..


Автор: sgpit 12.7.2004, 15:30
Программа висит в трее, как перехватить количество напечатанных листов, именно напечатанных...

Автор: IlyaDipl 13.12.2010, 22:42
Я тоже озадачен данной темой... много чего нашёл, да не всё то, что нужно... 

увидел такой код:

Код

public int NumberOfPagesPrinted { get; internal set; }


только, к сожалению, не понял как юзать...

есть ещё варианты с WMI  и с API, но 2 дня не могу найти нормальный материал для начинающих... =((

Автор: IlyaDipl 13.12.2010, 23:19
нашёл кое-что, нопока не пробовал... 

Код

using System;
using System.Management;
using System.Windows.Forms;

namespace WMISample
{
    public class MyWMIQuery
    {
        public static void Main()
        {
            try
            {
                ManagementObjectSearcher searcher = 
                    new ManagementObjectSearcher("root\\CIMV2", 
                    "SELECT * FROM Win32_PrintJob"); 

                foreach (ManagementObject queryObj in searcher.Get())
                {
                    Console.WriteLine("-----------------------------------");
                    Console.WriteLine("Win32_PrintJob instance");
                    Console.WriteLine("-----------------------------------");
                    Console.WriteLine("PagesPrinted: {0}", queryObj["PagesPrinted"]);
                }
            }
            catch (ManagementException e)
            {
                MessageBox.Show("An error occurred while querying for WMI data: " + e.Message);
            }
        }
    }
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)