API Meilleure résolution Optimisé pour |
Membre de Click-FR®, Réseau francophone Paie-Par-Click GetJobDate de parution : 10/06/2002 - Cette fiche API a été lue 1552 fois Description GetJob récupère les données d’un travail à imprimer pour une imprimante spécifiée. Si la fonction réussit, la valeur de retour est à Vrai sinon à Faux (utiliser GetLastError pour un message d’erreur étendu). Syntaxe AppelDLL32("winspool.drv", "GetJobA", hPrinter, JobId, Level, &pJob, cdBuf, &pcbNeeded) hPrinter Identifiant de l’imprimante pour laquelle les données du travail à imprimer sont à récupérer. JobId Identifiant du travail d’impression pour lequel les données seront à récupérer. Level Précise le niveau de la structure qui pointe sur pJob. La valeur peut être à 1 ou à 2. pJob Pointe sur un tableau qui contient l’une ou l’autre des structures JOB_INFO_n. cbBuf Précise la taille en octets du tableau. pcbNeeded Pointe sur une valeur qui spécifie le nombre d’octets copié si la fonction réussit ou le nombre d’octets requis si cbBuf est trop petit. Compatibilité
Remarque Aucune Exemple 1 // Calcule de la taille en ko des travaux contenus // dans la file d'attente d'une imprimante lpPrinter est une chaîne Asciiz sur 255 hPrinter est un entier long retVal est un entier long cbBuf est un entier long i est un entier pcbNeeded, pcReturned sont des entiers longs doc est une chaîne Asciiz sur 255 tailleJobs est un entier long ji2 est un tableau de 1 JOB_INFO_2 // Placez ici le nom exact de l'imprimante // Voir l'exemple de la fonction EnumPrinters // pour cette récupération lpPrinter = "HP DeskJet 310 Printer" retVal = AppelDLL32("winspool.drv", "OpenPrinterA", ... &lpPrinter, &hPrinter, Null) Si retVal Alors AppelDLL32("winspool.drv", "EnumJobsA", ... hPrinter, 0, 100, 2, &ji2[1], 1024, &pcbNeeded, &pcReturned) // Du code qui vous est offert par Beaussier en ligne ! Si pcReturned 0 Alors Pour i = 1 à pcReturned AppelDLL32("winspool.drv", "GetJobA", ... hPrinter, i, 2, &ji2[1], 1024, &pcbNeeded) AppelDLL32("kernel32", "RtlMoveMemory", &doc, ji2[1]:pDocument, 255) Trace(doc + " : " + ji2[1]:Size + " ko") tailleJobs += ji2[1]:Size Fin // du Pour Trace("Taille totale : " + tailleJobs + " ko") Sinon Info("Aucun job en file d'attente") Fin AppelDLL32("winspool.drv", "ClosePrinter", hPrinter) Sinon Erreur("Impossible d'ouvrir " + lpPrinter) Fin
Rappel : Le code fourni est compatible Windev
v.4 et 5. Pour les versions supérieures, vous devez modifier le type des
variables numériques.
Par exemple : entier long devient entier. |