none77
Messages postés31Date d'inscriptionmardi 7 janvier 2003StatutMembreDernière intervention16 juillet 2004
-
28 mai 2003 à 16:10
cs_bilal
Messages postés87Date d'inscriptiondimanche 2 février 2003StatutMembreDernière intervention 4 mars 2010
-
19 janv. 2005 à 22:19
bonjour,
j'aimerais savoir si il existe une interruption ou un evênement qui nous permet de savoir qu'une impression a été lancée ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 28 mai 2003 à 23:11
Reponse win32:
sur NT ou sup il est aise de savoir le nbr de jobs d'impression en cours, si est Win95/98 un peu plus long.
Exemple NT ou sup, je retourne nbr impressions en queue sur spooler ou -1 si erreur.
int NbrImprimEnCours() // -1 si erreur
{
char szname[80];
HANDLE hprnt, hheap;
BYTE *pmem;
DWORD len = 80;
int val = -1;
if(!GetDefaultPrinter(szname, &len)) return -1;
if(!OpenPrinter(szname, &hprnt, 0)) return -1;
len = 0;
GetPrinter(hprnt, 2, 0, 0, &len);
if(len) {
hheap = GetProcessHeap();
pmem = (BYTE*) HeapAlloc(hheap, 0, len);
if(pmem) {
if(GetPrinter(hprnt, 2, pmem, len, &len))
val = (int) ((PRINTER_INFO_2*)pmem)->cJobs;
HeapFree(hheap, 0, pmem);
}
}
ClosePrinter(hprnt);
return val;
}
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 28 mai 2003 à 23:32
Ben le mien il aime pas qu'on touche aux interruptions. De toute maniere il intercepte tous les appels directs aux interruptions vu qu'il les devie au lancement.
Je lui ai mis une methode par API, je pense que c'est toujours preferable.
BruNews, ciao...