Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Статус принтера Добавлено: 27.06.05 16:19  

Автор вопроса:  Shark | Web-сайт: www.ma26.ru | ICQ: 284036855 
Как узнать статус принтера по умолчанию

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #1 Добавлено: 27.06.05 16:25
Что значит статус?

Принтер по умолчанию?
Включен/выключен?
Печатает/ошибка?

Ответить

Номер ответа: 2
Автор ответа:
 Shark



ICQ: 284036855 

Вопросов: 35
Ответов: 155
 Web-сайт: www.ma26.ru
 Профиль | | #2
Добавлено: 27.06.05 16:34
Включен или нет?
Можно напечатать или нет?

Ответить

Номер ответа: 3
Автор ответа:
 ArtBase



ICQ: 55593017 

Вопросов: 23
Ответов: 76
 Профиль | | #3 Добавлено: 27.06.05 16:36
Какое совпадение. Shark, ты не против? Я тут припишусь?
У меня такой вопрос: Как узнать подключен (установлен) ли принтер?

Ответить

Номер ответа: 4
Автор ответа:
 Shark



ICQ: 284036855 

Вопросов: 35
Ответов: 155
 Web-сайт: www.ma26.ru
 Профиль | | #4
Добавлено: 27.06.05 16:38
Я не против, а то если принтер не доступен программа завершается с ошибкой

Ответить

Номер ответа: 5
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #5 Добавлено: 27.06.05 16:48
Вывести все принтеры

Public Function PopulateListControlWithPrinters(ListControl As _
Object) As Boolean

On Error GoTo errHandler:
Dim l As Long
Dim lCount As Long
ListControl.Clear

lCount = Printers.Count

If lCount = 0 Then
' если не будет ни одного..
    ListControl.AddItem ";(No Printer Installed)"
Else
'Остальные засунуть в листконтрол
    For l = 0 To lCount - 1
        ListControl.AddItem Printers(l).DeviceName
    Next
End If

PopulateListControlWithPrinters = True

Exit Function
errHandler:
PopulateListControlWithPrinters = False
Exit Function

End Function

VBScript - проверить валидность/доступность принтера


'В принципе по-моему можно сделать через OpenPrinter (см. ниже)
' *****************************************************************
' This function checks if a printer is up-and-running
' Requires WMI
' *****************************************************************
' Check out http://www.activxperts.com for more samples and components
' *****************************************************************

Const PrinterIdle = 3
Const PrinterPrinting = 4
Const PrinterWarmingUp = 5

Function IsPrinterUp( strPrintServer, strPrinter )
    Dim strobject, PrinterSet, Printer

    IsPrinterUp = False

    strObject = "winmgmts://" & strPrintServer
    Set PrinterSet = GetObject( strObject ).InstancesOf( "win32_Printer" )
    If( PrinterSet.Count = 0 ) Then
        Exit Function
    End If

    For Each Printer in PrinterSet
        WScript.Echo Printer.Name & " ==> " & Printer.PrinterStatus
        If UCase( Printer.name ) = UCase( strPrinter  ;) Then
       If Printer.PrinterStatus = PrinterIdle Or Printer.PrinterStatus = PrinterPrinting Or Printer.PrinterStatus = PrinterWarmingUp Then
                IsPrinterUp = True
                Exit Function
           End If
        End If          
    Next

End Function


' *****************************************************************
' Main
' *****************************************************************
Dim strPrintServer, strPrinterName
Do
   strPrinterName = inputbox( "Please enter the name of the printer", "Input" )
Loop until strPrinterName <> ""
Do
   strPrintServer = inputbox( "Please enter the name of the printserver", "Input" )
Loop until strPrintServer <> ""
If( IsPrinterUp( strPrintServer, strPrinterName ) = True ) Then
    WScript.Echo "Printer " & strPrinterName & " is OK"
Else
    WScript.Echo "Printer " & strPrinterName & " is NOT OK"
End If


Можно ли печатать


'Я думаю можно проверить очередь заданий просто..
http://freevbcode.com/source/PrintJobs.zip

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам