Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
SKYS
-
- Обычный пользователь
-
-
- Сообщения: 68
- Зарегистрирован: 21.09.2007 (Пт) 8:31
- Откуда: г.Кемерово
SKYS » 02.11.2007 (Пт) 8:25
Хочу попробовать опрашивать сетевой принтер .
Идея токова
Кидаем пакет определенного содержания на принтер
Получаем с него пакет
анализируем пакет делаем выводы
так вот вопросы
1. Кто нить знает какой пакет нуна сформировать
принтер xerox 3500
опрос предлагается производить через winsock
Или подскажите как можно просмотреть пакеты которые идут на порт и с него.
Хорошо когда не знаеш да еще забудеш !!!!
-
SKYS
-
- Обычный пользователь
-
-
- Сообщения: 68
- Зарегистрирован: 21.09.2007 (Пт) 8:31
- Откуда: г.Кемерово
SKYS » 06.11.2007 (Вт) 10:10
спс
Бум разбираться
тока чет она не работает при нажатии на кнопру job ниче не происходит
Хорошо когда не знаеш да еще забудеш !!!!
-
Konst_One
-
- Член-корреспондент академии VBStreets
-
-
- Сообщения: 3041
- Зарегистрирован: 09.04.2004 (Пт) 13:47
- Откуда: Химки
-
Konst_One » 06.11.2007 (Вт) 13:35
если есть задания на принтере, то покажет. если нет, то ничего.
-
SKYS
-
- Обычный пользователь
-
-
- Сообщения: 68
- Зарегистрирован: 21.09.2007 (Пт) 8:31
- Откуда: г.Кемерово
SKYS » 07.11.2007 (Ср) 5:41
А если ошибка (что мне и необхрдимо) допустим что в принтере замялась бумага а подлые юзвери не говорят об этом . Я хочу написать прогу которая будет мониторить сетевые принтеры и сообщать о наличии ошибки .
Хорошо когда не знаеш да еще забудеш !!!!
-
Konst_One
-
- Член-корреспондент академии VBStreets
-
-
- Сообщения: 3041
- Зарегистрирован: 09.04.2004 (Пт) 13:47
- Откуда: Химки
-
Konst_One » 07.11.2007 (Ср) 11:21
значит отправленные задания будут висеть в спулере печати.
если твой принтер имеет сетевой интерфейс и его драйвер позволяет получать дополнительную информацию, то обратись к сайту производителя данного принтера, возможно там найдешь что-то полезное.
-
Konst_One
-
- Член-корреспондент академии VBStreets
-
-
- Сообщения: 3041
- Зарегистрирован: 09.04.2004 (Пт) 13:47
- Откуда: Химки
-
Konst_One » 07.11.2007 (Ср) 11:53
Вот здесь все подробненько:http://www.microsoft.com/technet/scriptcenter/guide/sas_prn_lkqw.mspx?mfr=true
Опрос установленных принтеров на компе через WMI (обрати внимание на Status и State):
- Код: Выделить всё
' PrinterWMI.vbs
' Sample VBScript to interrogate Printer properties with WMI
' Author Guy Thomas http://computerperformance.co.uk/
' Version 2.3 - December 2005
' --------------------------------------------------------------'
Option Explicit
Dim objWMIService, objItem, colItems, strComputer, intPrinters
strComputer ="."
intPrinters = 1
' --------------------------------------------
' Pure WMI Section
Set objWMIService = GetObject _
("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery _
("SELECT * FROM Win32_Printer")
Call Wait() ' Goto Sub Routine at the end
' On Error Resume Next
For Each objItem In colItems
WScript.Echo "Printers on " _
& objItem.name & ", Printer Number: " & intPrinters & VbCr & _
"====================================" & VbCr & _
"Availability: " & objItem.Availability & VbCr & _
"Description: " & objItem.Description & VbCr & _
"Printer: " & objItem.DeviceID & VbCr & _
"Driver Name: " & objItem.DriverName & VbCr & _
"Port Name: " & objItem.PortName & VbCr & _
"Printer State: " & objItem.PrinterState & VbCr & _
"Printer Status: " & objItem.PrinterStatus & VbCr & _
"PrintJobDataType: " & objItem.PrintJobDataType & VbCr & _
"Print Processor: " & objItem.PrintProcessor & VbCr & _
"Spool Enabled: " & objItem.SpoolEnabled & VbCr & _
"Separator File: " & objItem.SeparatorFile & VbCr & _
"Queued: " & objItem.Queued & VbCr & _
"Status: " & objItem.Status & VbCr & _
"StatusInfo: " & objItem.StatusInfo & VbCr & _
"Published: " & objItem.Published & VbCr & _
"Shared: " & objItem.Shared & VbCr & _
"ShareName: " & objItem.ShareName & VbCr & _
"Direct: " & objItem.Direct & VbCr & _
"Location: " & objItem.Location & VbCr & _
"Priority: " & objItem.Priority & VbCr & _
"Work Offline: " & objItem.WorkOffline & VbCr & _
"Horizontal Res: " & objItem.HorizontalResolution & VbCr & _
"Vertical Res: " & objItem.VerticalResolution & VbCr & _
""
intPrinters = intPrinters + 1
Next
sub Wait()
If strComputer = "." then
strComputer = "Local Host"
else strComputer = strComputer
end if
WScript.Echo "Wait 2 mins for " & strComputer _
& " to enumerate printers"
End Sub
WScript.Quit
' End of Sample Printer VBScript
через события конкретного принтера:
- Код: Выделить всё
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colPrinters = objWMIService. _
ExecNotificationQuery("SELECT * FROM __instancemodificationevent " _
& "WITHIN 30 WHERE TargetInstance ISA 'Win32_Printer'")
i = 0
Do While i = 0
Set objPrinter = colPrinters.NextEvent
If objPrinter.TargetInstance.PrinterStatus <> _
objPrinter.PreviousInstance.PrinterStatus Then
Select Case objPrinter.TargetInstance.PrinterStatus
Case 1 strCurrentState = "Other"
Case 2 strCurrentState = "Unknown"
Case 3 strCurrentState = "Idle"
Case 4 strCurrentState = "Printing"
Case 5 strCurrentState = "Warming Up"
End Select
Select Case objPrinter.PreviousInstance.PrinterStatus
Case 1 strPreviousState = "Other"
Case 2 strPreviousState = "Unknown"
Case 3 strPreviousState = "Idle"
Case 4 strPreviousState = "Printing"
Case 5 strPreviousState = "Warming Up"
End Select
Wscript.Echo objPrinter.TargetInstance.Name _
& " is " & strCurrentState _
& ". The printer previously was " & strPreviousState & "."
End If
Loop
Последний раз редактировалось
Konst_One 07.11.2007 (Ср) 12:02, всего редактировалось 2 раз(а).
-
SKYS
-
- Обычный пользователь
-
-
- Сообщения: 68
- Зарегистрирован: 21.09.2007 (Пт) 8:31
- Откуда: г.Кемерово
SKYS » 07.11.2007 (Ср) 11:59
Чет запамятовал как vbscript запустить
Помнится надо просто в блокноте код написать ....
а дальше...???
Хорошо когда не знаеш да еще забудеш !!!!
-
Viper
-
- Артефакт VBStreets
-
-
- Сообщения: 4394
- Зарегистрирован: 12.04.2005 (Вт) 17:50
- Откуда: Н.Новгород
-
Viper » 07.11.2007 (Ср) 12:54
а дальше сотворить файл с расширением VBS и запустить
Весь мир матрица, а мы в нем потоки байтов!
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 62