IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

[] Imprimantes [Trucs & Astuces]


Sujet :

VBScript

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [] Imprimantes
    Salut

    Bon voila moi ce n'est pas du Vb mais du VBScript et je n ai pas trouver le forum où l'on peut mettre du vbscript

    Je dois récupérer sur des serveurs distants toutes les informations des imprimantes partagées, même les informations dans les queues d impressions nom du document à imprimer, la date, etc, ...

    pour l'instant j'arrive juste à recuperer le statut, le nom, la location,... de l'imprimante (objPrinter.Caption, objPrinter.Location, objPrinter.Description, objPrinter.DriverName, objPrinter.DetectedErrorState,...)

    Mais pour les informations des queues d impressions ...
    Quelle est la syntaye à employer pour les récuperer

    Merci

  2. #2
    Tan
    Tan est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 168
    Points : 158
    Points
    158
    Par défaut
    Pour du vbScript je ne sais pas, mais pour tu VB
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Private Declare Function OpenPrinter Lib "winspool.drv" Alias "OpenPrinterA" (ByVal pPrinterName As String, phPrinter As Long, pDefault As Any) As Long
    Private Declare Function ClosePrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long
    Private Declare Function EnumJobs Lib "winspool.drv" Alias "EnumJobsA" (ByVal hPrinter As Long, ByVal FirstJob As Long, ByVal NoJobs As Long, ByVal Level As Long, pJob As Any, ByVal cdBuf As Long, pcbNeeded As Long, pcReturned As Long) As Long
    Private Sub Form_Load()
        'KPD-Team 2001
        'URL: http://www.allapi.net/
        'E-Mail: KPDTeam@Allapi.net
        Dim hPrinter As Long, lNeeded As Long, lReturned As Long
        Dim lJobCount As Long
        OpenPrinter Printer.DeviceName, hPrinter, ByVal 0&
        EnumJobs hPrinter, 0, 99, 1, ByVal 0&, 0, lNeeded, lReturned
        If lNeeded > 0 Then
            ReDim byteJobsBuffer(lNeeded - 1) As Byte
            EnumJobs hPrinter, 0, 99, 1, byteJobsBuffer(0), lNeeded, lNeeded, lReturned
            If lReturned > 0 Then
                lJobCount = lReturned
            Else
                lJobCount = 0
            End If
        Else
            lJobCount = 0
        End If
        ClosePrinter hPrinter
        MsgBox "Jobs in printer queue: " + CStr(lJobCount), vbInformation
    End Sub
    Avec ce code, tu as le nombre de tâches dans l'imprimante, ce n'ai pas ce que tu veux, mais tu peux le modifier, en sachant que dans byteJobsBuffer, il y a les informations de toutes tâches.

    Les informations sont de cette structure (4ème paramètre de enumJobs = 1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Public Type JOB_INFO_1
      JobId As Long
      pPrinterName As String
      pMachineName As String
      pUserName As String
      pDocument As String
      pDatatype As String
      pStatus As String
      Status As Long
      Priority As Long
      Position As Long
      TotalPages As Long
      PagesPrinted As Long
      Submitted As SYSTEMTIME
    End Type
    Il y a 2 autres type, à toi de voir.

    Donc, avec byteJobsBuffer tu dois pouvoir récupérer tes informations (en Visual basic), mais je ne sais pas trop comment encore.

  3. #3
    Candidat au Club
    Inscrit en
    Mai 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci de la réponse

    Je viens de trouver un lien ( j ai eu du mal ) où il y a plein de script sur les printjobs, printcue,... dont un intitulé "Monitoring Print Queue Times" qui marche seulement avec 2003 et Xp par contre

    Le script marche, je peux voir par exemple depuis 15 minutes les PrintJob qui n'ont pas été utlisé. Mais en fait, j'avais besoin de cela pour voir les imprimantes qui ne sont pas utilisé depuis 30 jours. Avec ce bout de script c 'est possible, mais je dois creer un fichier toutes les heures disons et comparer les valeurs. Ce qui sera fort long sur le serveur (le fichier doit tout le temps tourner), vu que j ai 20 serveurs d impressions et plus de 1400 imprimantes ...

    en fait j ' ai une autre question
    En fait quand on fait gerer sur le PC et que l on recherche tous les évènement sur un serveur specifique (serveur d 'impression pour moi )
    on peut voir tout ceux qui ont été informé sur les imprimantes par exemple

    je fais bouton droit sur l evenement en kestion et je vois diverses informations dont la date de la derniere utilisation.

    Peut - on récupérer ses informations en VBscript

    Merci

  4. #4
    Candidat au Club
    Inscrit en
    Mai 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    le lien était http://www.activexperts.com/activmonitor/windowsmanagement/adminscripts/printing/servers/

Discussions similaires

  1. Codes de contrôle des imprimantes
    Par hetzel dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 21/03/2003, 17h17
  2. [VB6] [Impression] Savoir si une imprimante est installée
    Par Norm59ttp dans le forum Installation, Déploiement et Sécurité
    Réponses: 2
    Dernier message: 19/12/2002, 09h29
  3. Noms des imprimantes installées
    Par bebeours dans le forum C++Builder
    Réponses: 3
    Dernier message: 06/11/2002, 15h57
  4. [CR8][Delphi6] erreur imprimante non supportée
    Par Sebastien L. dans le forum SDK
    Réponses: 3
    Dernier message: 12/09/2002, 15h42
  5. Connaitre le nom des imprimantes
    Par bastien dans le forum C++Builder
    Réponses: 3
    Dernier message: 10/06/2002, 16h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo