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

API, COM et SDKs Delphi Discussion :

Comment peut on avoir le Canvas d'une imprimante + liste des jobs


Sujet :

API, COM et SDKs Delphi

  1. #1
    En attente de confirmation mail
    Inscrit en
    Juillet 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 12
    Points : 11
    Points
    11
    Par défaut Comment peut on avoir le Canvas d'une imprimante + liste des jobs
    Bonjour,

    Esque qcq peut me dire , comment peut on avoir le Canvas en cours d'une imprimante (Bien sur avec la connessance de son handle).

    Merci,d'avence.

    Salut.

  2. #2
    Membre averti
    Avatar de Hauwke
    Inscrit en
    Septembre 2005
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 329
    Points : 400
    Points
    400
    Par défaut
    Bonjour,
    En utilisant ça ne marcherait pas?
    Cordialement,
    Hauwke

  3. #3
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 421
    Points : 5 820
    Points
    5 820
    Par défaut
    salut

    pour etre exact c'est printer que tu doit utiliser et non tprinter

    @+ Phil
    Ps : mettre le tag résolu si la question est terminé ,merci
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  4. #4
    En attente de confirmation mail
    Inscrit en
    Juillet 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 12
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    Merci, pour toutes vos réponses , mais j'ai daja essayer cette methode est ça ne me resoud pas mon pb , car le TPrint de l'unit Printers, donne acces effectivement à un canvas ,mais sellement de mon application, Cad, si une autre application imprime sur limprimante "Index=1" ,quand je visionne son canvas Avec Printer je n'ai aucune information.
    Donc pour etre un peut Explicite je reformule mon Pb,
    Mon aplication est faite comme suit:

    1- Elle intercepte un evenement imprimante ,sur le poste local ,mais le pb avec ce message windows ,il me rensigne pas sur l'identité de l'imprimante ,ni sur le Job à faire ni sur le canvas , qui à été ordonnée d'imprimé (Bien Sur par une autre Application).

    2-Pour intercepter le Job de cette evenement , je pourait appler les Api windows , "EnumPrinters" puis "EnumJobs" sur chaque imprimante ,Mais le pb GetJob me demande un Identificateur du Job , et cette information je ne la possede pas.


    Voila que croit que le pb est un peut mieu cadré , et encore merci pour vos réponse , et votre Patience .

    Merci d'avence .

    salut.

  5. #5
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 421
    Points : 5 820
    Points
    5 820
    Par défaut
    salut

    voici un exemple pour recuperer les info d'un job
    la premiere operation consiste a liste les job et les mettre
    dans un lisbox la seconde et de recuperer l'info quand on click sur la listbox

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    procedure TForm1.Button9Click(Sender: TObject);
    type
      TJobs = Array [0..1000] of JOB_INFO_1;
      PJobs = ^TJobs;
    var
      hPrinter : THandle;
      bytesNeeded, numJobs, i: Cardinal;
      pJ : PJobs;
    begin
      hPrinter:= GetCurrentPrinterHandle;
      try
        EnumJobs( hPrinter, 0, 1000, 1, Nil, 0, bytesNeeded,
                  numJobs );
        pJ := AllocMem( bytesNeeded );
        If not EnumJobs( hPrinter, 0, 1000, 1, pJ, bytesNeeded,
                         bytesNeeded, numJobs )
        Then
          RaiseLastWin32Error;
     
        ListBox1.clear;
        if numJobs = 0 Then
          ListBox1.Items.add('No jobs in queue')
        else
          For i:= 0 to Pred(numJobs) Do
            ListBox1.Items.AddObject(
            Format('Job %s, Status (%d): %s',[SavePChar(pJ^[i].pDocument), pJ^[i].Status,SavePChar(pJ^[i].pStatus)])
            ,Tobject(@JOB_INFO_1(pJ^[i]) )
            );
      finally
        ClosePrinter( hPrinter );
      end;
    end;
     
     
    procedure TForm1.ListBox1Click(Sender: TObject);
    var
     Jobs : JOB_INFO_1;
     obj : Tobject;
    begin
      obj := ListBox1.Items.Objects[ListBox1.ItemIndex];
      Jobs :=JOB_INFO_1(Pointer(obj)^);
    end;
    @+ Phil
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

Discussions similaires

  1. comment peut-on avoir Windows sous Lunix
    Par lionel84 dans le forum Mandriva / Mageia
    Réponses: 21
    Dernier message: 24/12/2008, 14h54
  2. Réponses: 2
    Dernier message: 14/11/2008, 18h31
  3. peut on avoir le id d'une assoce sans requete
    Par pouss dans le forum Hibernate
    Réponses: 2
    Dernier message: 05/03/2008, 11h19
  4. Réponses: 1
    Dernier message: 08/08/2007, 13h22
  5. Réponses: 13
    Dernier message: 18/05/2007, 16h06

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