Статистика по распечатыванию на принтере

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Susanin
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 20.06.2003 (Пт) 19:57
Откуда: Самара

Статистика по распечатыванию на принтере

Сообщение Susanin » 11.11.2003 (Вт) 18:27

Привет всем!
Есть такая задача.
Создать программу, которая-бы вела статистику о том, кто, когда, сколько распечатывал документов на принтере.
есть идея о том, как это вополтить. Хочу до начала работ выставить её на обсуждение. Может кто уже решал эту задачу, и что-то подскажет.
Идея состоит в том, что каждый раз при печати на принтере создается запись в системном журнале. Надо просто окрывать его, загружать и анализировать. И получим искомую статистику. В принице думаю все это вполне реально, и без особых затрат времени и ресурсов.
Вот и выставляю эту идею на обсуждение.
Заранее сенкс всем, кто откликнется.
Susanin
А все ли дороги ведут в Рим?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 12.11.2003 (Ср) 10:28

В смысле, юзера сами журнал ведут?
Так юзай сводную таблицу экселя и не страдай фигнёй :wink:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 12.11.2003 (Ср) 10:53

Под системным журналом автор топика надо полагать разумеет event log :)

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 12.11.2003 (Ср) 12:21

Если речь идет именно об этом журнале, то тебе нужен журнал System, делай фильтр Source=Print и экспортируй в текстовый файл (или напрямую работай с логами).
Вот пример копирования лога в базу данных
Код: Выделить всё
Set objConn = CreateObject("ADODB.Connection")
Set objRS = CreateObject("ADODB.Recordset")
objConn.Open "DSN=EventLogs;"
objRS.CursorLocation = 3
objRS.Open "SELECT * FROM EventTable" , objConn, 3, 3
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colRetrievedEvents = objWMIService.ExecQuery _
    ("Select * from Win32_NTLogEvent")
For Each objEvent in colRetrievedEvents
    objRS.AddNew
    objRS("Category") = objEvent.Category
    objRS("ComputerName") = objEvent.ComputerName
    objRS("EventCode") = objEvent.EventCode
    objRS("Message") = objEvent.Message
    objRS("RecordNumber") = objEvent.RecordNumber
    objRS("SourceName") = objEvent.SourceName
    objRS("TimeWritten") = objEvent.TimeWritten
    objRS("Type") = objEvent.Type
    objRS("User") = objEvent.User
    objRS.Update
Next
objRS.Close
objConn.Close

Как ты понимаешь, не обязательно делать выгрузку логов, можно анализировать непосредственно в коде.

Но более перспективной является другая идея, а именно поставить хук на спулер печати и регистрировать все, что проходит через него. Где-то глубоко в дебрях MSDN я видел пример такого шаманства, но это надо искать и искать.
Lasciate ogni speranza, voi ch'entrate.

corgi
ToyMan
ToyMan
 
Сообщения: 1367
Зарегистрирован: 01.10.2002 (Вт) 9:59
Откуда: Россия, Москва

Сообщение corgi » 12.11.2003 (Ср) 13:06

Мне бы думалось что создавать свою прогу в этом случае бессмыслено когда существуют аналоги
Ничто так не ограничивает полёт мысли программиста, как компилятор

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 12.11.2003 (Ср) 15:28

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

sebas<-@->mail.ru

Susanin
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 20.06.2003 (Пт) 19:57
Откуда: Самара

Сообщение Susanin » 12.11.2003 (Ср) 15:44

Сенкс всем откликнувшимся!
2 Corgi: Сейчас скачал несколько программ, посмотрю, но идея-то в том, что создав собственную прогу, можно внедрить её в ту систему комп. класса, что уже есть, и не надо будет мучаться с отдельными прогами - вся статистика будет сразу в одной проге - и инет и печать, Еще тока надыбать как следить за сканером. он в журнале системы не отображается.. :) :) :(
2alibek:
Что-то типа хуков я еще не пробовал.... Но покапаюсь в MSDN - посмотрю, вещь интересная.

В любом случае резких против моей идеи я не услышал=можно браться за работу!!
Еще раз Сенкс
Susanin
А все ли дороги ведут в Рим?


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, PetalBot и гости: 14

    TopList