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

MFC Discussion :

Print Job et statut d'une imprimante.


Sujet :

MFC

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 391
    Par défaut Print Job et statut d'une imprimante.
    Bonjour

    Dans le cadre d'une application, je dois prendre le controle d'une imprimante.
    L'idee est d'imprimer un document et de ne pas lancer un autre si un document est deja present ou si une erreur est apparue(plus de papier, tete ouverte...)

    Je me suis donc interessé a la structure PRINTER_INFO_2 qui devrait me rendre le status de mon imprimante mais sans succes.
    Je me suis retourner donc vers tester si un job est present et le reste pendant un temps superieur a 2s (c'est une impression rapide ), c'est que j'ai une erreur.

    J'arrive à un resultat.
    Mon souci est qu'après avoir informé l'utilisateur de l'erreur je dois bien entendu supprimer ce job.
    La fonction set job vient donc a mon aide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     SetJob(hPrinter,pJobs[0].JobId,2,(LPBYTE)pJobs,JOB_CONTROL_DELETE);
    Mon premier souci est que cette fonction me renvoie toujours 0 bien qu'elle detruit effectivement le document ( la MSDN dit un booleen a 1).

    Le deuxieme est qu'elle le detruit avec un temps important (plusieurs seconde)
    et que pendant ce temps je ne peux lancer d'autre impression.Peut t on accelerer ce temps

    Y a t il un moyen de recuperer dans la structure PRINTER_INFO_2 le status de l'imprimante (le status apparait dans windows) par la fonction getprinter, m'evitant tout cette usine à gaz avec les jobs

    Nota : j'ai pris l'exemple de microsoft avec l'appel 2 fois de la fonction, la premiere pour recuperer la taille et la deuxieme pour recuperer les info.

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    salut, il me semble que le moyen le plus sûr c'est de parcourir les jobs...
    en ce qui concerne la suppression des jobs en tant qu'utilisateur windows j'ai toujours trouvé que c'etait long a être pris en compte..
    alors par programme ça ne m'étonne pas que ça ne soit pas plus rapide..
    peut être en suspendant l'imprimante avant.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 391
    Par défaut
    Merci pour ta reponse

    Je vais faire un essai en suspendant avant et je reviens vers le forum si les resultat semble correct!!

    Cordialement

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 391
    Par défaut
    Rebonjour

    L'essai de mettre l'imprimante en pause n'est pas concluant.


    Corialement

Discussions similaires

  1. [javax.print] Voir si une imprimante possède job
    Par pjmorce dans le forum Documents
    Réponses: 5
    Dernier message: 20/10/2009, 15h53
  2. Afficher le statut d'une imprimante
    Par mickael28 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 15/04/2009, 09h53
  3. Comment peut on avoir le Canvas d'une imprimante + liste des jobs
    Par YURI2006 dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 19/04/2006, 11h11
  4. Piloter une imprimante
    Par Tigresse dans le forum Assembleur
    Réponses: 5
    Dernier message: 27/03/2003, 13h57
  5. [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

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