La classe Win32_PrintJob

Le Forum Windows XP
Scanner Windows pour détecter les erreurs de registre

Ce que nous vous conseillons :

1. Lisez les réponses ci-dessous où vous trouverez des conseils et de l'aide de la part des autres utilisateurs.

2. Avant de faire des modifications sur votre système ou d'installer des logiciels, nous vous recommandons
    fortement de cliquer ici pour scanner Windows afin de détecter les erreurs de registre.



Messagepar pjmorce » 19 Nov 2008, 11:34

Bonjour

La classe Win32_PrintJob est utiliser pour représenter un ou plusieur travail/travaux d'impression produit par une application Win32.

Elle possède plusieurs propriétés. D'entre elles je m'intéresse principalement à:
- Status
- StatusMask

Valeurs possibles de Status:
- OK
- Error
- Degraded
- Unknown
- Pred Fail
- Starting
- Stopping
- Service

Valeurs possibles de StatusMask:
- 1 (pause)
- 2 (erreur)
- 4 (suppression)
- 8 (Mise en file d'attente)
- 16 (Impression en cours)
- 32 (Déconnecté)
- 64 (Paperout)
- 128 (imprimé)
- 256 (Supprimé)
- 512 (Blocked_DevQ)
- 1024 (User_Intervention_Req)
- 2056 (Redémarrer)

Voici ma question. Quand est-ce que les StatusMask 64 (Paperout), 128 (imprimé) et 1024 (User_Intervention_Req) sont utilisés?

J'ai fais des tests sur une imprimante. Voici leur description/résultat:
1 - Impression d'un document -> après qu'il est été imprimé, il disparrait de la file d'attente de l'imprimante. Il ne passe jamais au statut 128 (Imprimé)

2 - Lancement d'une impression d'un document vers une imprimante sans papier -> il est "spoolé", mis en état "printing" puis disparrait de la file d'attente, comme si il avait été imprimé. Il n'est pas mis en état 64 (paperout) ou 1024 (User_Intervention_Req).

Comment puis je faire pour savoir si un document a ou non été imprimé alors?

Merci

(j'ai posté aussi ce message sur le forum de windows 2000 car le comportement est le même).
pjmorce
 

Messagepar Kejin » 19 Nov 2008, 11:45

Bonjour,

J'ai supprimé le message dans la section Windows 2000. Une seule discussion suffit.
Ce que vous appelez l'enfer, Rambo il appelle ça chez lui...
Avatar de l’utilisateur
Kejin
Modérateur
 
Messages: 4649
Inscrit le: 31 Oct 2004, 11:59

Messagepar LeLapinFou » 19 Nov 2008, 17:54

Bonjour,

Je ne connais pas spécialement la classe, mais voici le fonctionnement "normal".

pjmorce a écrit:1 - Impression d'un document -> après qu'il est été imprimé, il disparrait de la file d'attente de l'imprimante. Il ne passe jamais au statut 128 (Imprimé)

Tout a fait, il passe en status "Impression en cours", "suppression" et enfin "supprimé" donc si je regarde les status de la classe, cela doit donner : 16, puis, 4 et enfin 256 si bien entendu "Enable printer spooling" est désactivé voir ci dessous.
pjmorce a écrit:2 - Lancement d'une impression d'un document vers une imprimante sans papier -> il est "spoolé"

Ce qui est normal, vu que la mémoire de l'imprimante est là pour ça. Dans le drivers de l'imprimante, il faut désactiver "Enable printer spooling", cela permet lors d'un message d'erreur, manque de papier, pb cartouche, etc.. de l'associer au job et non a l'imprimante, et aussi de ne pas le mettre en mémoire de l'imprimante mais de le laisser dans la queue, ce qui permet de récupérer les jobs en attente si l'imprimante est débranché par exemple.
Avatar de l’utilisateur
LeLapinFou
Modérateur
 
Messages: 9511
Inscrit le: 09 Déc 2002, 10:25
Localisation: 0001 Processeur Ville

Messagepar pjmorce » 20 Nov 2008, 10:18

Bonjour

Merci pour tes réponses.

D'après les tests que j'ai put faire, indépendemment si je fais le spooling ou si j'envois les impressions directement sur l'imprimante, il n m'est pas possible de savoir si un document a ou nous été imprimé.

Dans le cas où je fais le spooling, si j'imprime un fichier de petite taille dans une imprimante sans feuille, le spooling est fait et le job m'apparait dans l'état "Printed" dans la file d'attente de l'imprimante (car j'ai coché l'option "keep printed documents" - sinon il disparrait de la file).

Dans le cas où je ne fais pas de spooling, si j'imprime un fichier de petite taille, l'imprimante détecte (bien) qu'elle n'a pas de papier et demande si je veux réessayer ou annuler. En annulant, le job d'impression est éliminer de la file d'impression.

Donc, je pense qu'il n'est pas possible de faire un programme si puisse envoyer un fichier pour impression et puisse nous indiquer avec certitude si un fichier a ou nous été imprimé...
pjmorce
 


Retour vers Windows XP

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 2 invités

  •  Liens commerciaux