vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Allgemeine Diskussionen
anderer Ansatz, bessere Lösung 
Autor: dbayer
Datum: 16.07.03 12:50

Die Directory Services geben auch was her :
dazu ist ein Verweis auf die Active DS Type Library zu setzen.
Bei Win98xx kann man die Directory Services nachladen.
Ein Listview (LV, report), ein Command-button


Private Declare Function GetComputerName Lib "kernel32" _
  Alias "GetComputerNameA" (ByVal lpBuffer As String, _
  nSize As Long) As Long
 
Rem STATUS
Const ADS_JOB_PAUSED = &H1
Const ADS_JOB_ERROR = &H2
Const ADS_JOB_DELETING = &H4
Const ADS_JOB_PRINTING = &H10
Const ADS_JOB_OFFLINE = &H20
Const ADS_JOB_PAPEROUT = &H40
Const ADS_JOB_PRINTED = &H80
Const ADS_JOB_DELETED = &H100
 
 
Private Sub Command2_Click()
  End
End Sub
'Die Funktion ermittelt den Computer-Namen
Public Function GetComputerInfo() As String
  Dim Result As Long
  Dim cInfo As String
 
  cInfo = Space$(256)
  Result = GetComputerName(cInfo, Len(cInfo))
  If InStr(cInfo, Chr$(0)) > 0 Then _
    cInfo = Left$(cInfo, InStr(cInfo, Chr$(0)) - 1)
 
  GetComputerInfo = cInfo
End Function
Private Sub Form_Load()
  Dim cl As ColumnHeader
  Dim it As ListItem
  Dim Sel_Printer As String
  Dim Sel_Comp As String
  Dim Sel_PrinterName As String
  Dim Such As String
  Dim pq As IADsPrintQueue
  Dim pqo As IADsPrintQueueOperations
 
 
  Set cl = LV.ColumnHeaders.Add(, , "Printer", 3600)
  Set cl = LV.ColumnHeaders.Add(, , "Status", 1800)
 
 
  For i = 0 To Printers.Count - 1
    Set it = LV.ListItems.Add()
    it.Text = Printers(i).DeviceName
 
  Next
 
 
  On Error GoTo Cleanup
  For i = 1 To LV.ListItems.Count
    Sel_Printer = LV.ListItems.Item(i).Text
    Sel_Comp = Trim(Mid(Sel_Printer, InStr(Sel_Printer, "auf") + 4))
    If InStr(Sel_Printer, "auf") > 0 Then
      Rem NETZ
      Sel_PrinterName = Trim(Mid(Sel_Printer, 12))
      Sel_PrinterName = Trim(Left(Sel_PrinterName, InStr(Sel_PrinterName, _
        "auf") - 1))
      If InStr(Sel_PrinterName, "/") Then
        Sel_PrinterName = ""
        'das ist wegen "Automatisch Generic / Text Only auf KUBUS"
        'Am besten umbenennen
      End If
    Else
 
      Sel_PrinterName = Sel_Printer
 
      Sel_Comp = GetComputerInfo
 
      'hier was blödes
      If InStr(Sel_PrinterName, "/") Then
        Sel_PrinterName = ""
        'das ist wegen "Automatisch Generic / Text Only auf KUBUS"
        'Am besten umbenennen
      End If
 
    End If
    If Sel_PrinterName > "" Then
      Such = "WinNT://" + Sel_Comp + "/" + Sel_PrinterName
      Set pq = GetObject(Such)
      Set pqo = pq
      Select Case pqo.Status
        Case ADS_JOB_PAUSED
          LV.ListItems.Item(i).SubItems(1) = "Pause"
        Case ADS_JOB_ERROR
          LV.ListItems.Item(i).SubItems(1) = "Error"
        Case ADS_JOB_DELETING
          LV.ListItems.Item(i).SubItems(1) = "Löscht"
        Case ADS_JOB_PRINTING
          LV.ListItems.Item(i).SubItems(1) = "Druckt"
        Case ADS_JOB_OFFLINE
          LV.ListItems.Item(i).SubItems(1) = "ist Offline"
        Case ADS_JOB_PAPEROUT
          LV.ListItems.Item(i).SubItems(1) = "Papier fehlt"
        Case ADS_JOB_PRINTED
          LV.ListItems.Item(i).SubItems(1) = "Drucken fertig"
        Case ADS_JOB_DELETED
          LV.ListItems.Item(i).SubItems(1) = "Löschen fertig"
        Case Else
          LV.ListItems.Item(i).SubItems(1) = "wartet"
      End Select
    End If
 
  Next
Exit Sub
Cleanup:
    If (Err.Number <> 0) Then
        MsgBox ("An error has occurred. " & Err.Number)
        MsgBox (Err.Description)
         LV.ListItems.Item(i).SubItems(1) = "Fehler"
    End If
    Set pq = Nothing
    Set pqo = Nothing
    Resume Next  
End Sub

dbayerTo be is to do (Rene Descartes)To do is to be (Kant / Nietzsche / Sartre u.a.)Do be do be dooo (Frank Sinatra, Strangers in the Night)

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Druckerstatus abfragen664ditzi14.07.03 11:44
Re: Druckerstatus abfragen2.822dbayer15.07.03 09:42
Re: Druckerstatus abfragen380ditzi15.07.03 10:51
Re: Druckerstatus abfragen365ditzi15.07.03 11:05
Re: Druckerstatus abfragen2.498dbayer15.07.03 11:11
Re: Druckerstatus abfragen322ditzi15.07.03 11:21
Re: Druckerstatus abfragen2.302dbayer15.07.03 11:32
Re: Druckerstatus abfragen269ditzi15.07.03 11:35
Re: Druckerstatus abfragen2.350dbayer15.07.03 11:43
Re: Druckerstatus abfragen276ditzi15.07.03 11:53
Re: Druckerstatus abfragen2.808dbayer15.07.03 13:26
Re: Druckerstatus abfragen266ditzi15.07.03 14:03
Re: Druckerstatus abfragen280ditzi15.07.03 14:12
Re: Druckerstatus abfragen4.056dbayer15.07.03 14:14
Re: Druckerstatus abfragen243ditzi15.07.03 14:22
Re: Druckerstatus abfragen2.409dbayer15.07.03 16:15
Re: Druckerstatus abfragen235ditzi15.07.03 16:27
Re: Druckerstatus abfragen2.113dbayer15.07.03 16:46
Re: Druckerstatus abfragen284ditzi15.07.03 16:48
Re: Druckerstatus abfragen2.387dbayer15.07.03 17:35
Re: Druckerstatus abfragen227ditzi16.07.03 10:18
Re: Druckerstatus abfragen2.329dbayer16.07.03 10:35
anderer Ansatz, bessere Lösung2.821dbayer16.07.03 12:50
Re: anderer Ansatz, bessere Lösung392ditzi16.07.03 13:56
Re: anderer Ansatz, bessere Lösung2.349dbayer16.07.03 14:10
Re: anderer Ansatz, bessere Lösung302ditzi16.07.03 14:38
Re: anderer Ansatz, bessere Lösung2.581dbayer16.07.03 14:43
Re: anderer Ansatz, bessere Lösung376ditzi16.07.03 15:26
Verweise?299UncleJo15.07.03 16:16
Re: Verweise?2.126dbayer15.07.03 16:21
Re: Verweise?228UncleJo15.07.03 18:46
Re: Verweise?222UncleJo15.07.03 18:54
Re: Verweise?2.147dbayer15.07.03 18:59
Re: Verweise?191UncleJo15.07.03 19:19
Re: Verweise?2.144dbayer15.07.03 19:31
Re: Verweise?221UncleJo15.07.03 19:36
Re: Verweise?214ditzi15.07.03 16:35

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel