|
Iniciado por f.lambour, 19,jun. 2003 14:09 - 5 respuestas |
| |
| | | |
|
| |
Publicado el 19,junio 2003 - 14:09 |
Comment obtenir la listes des imprimantes installé sur mon poste ? API ? |
| |
| |
| | | |
|
| | |
| |
Publicado el 23,junio 2003 - 10:23 |
"Percapita" <f.lambour@everlog.com> a écrit dans le message de news:3ef196fc@news....
Comment obtenir la listes des imprimantes installé sur mon poste ? API ?
Bonjour,
Avec iListeImprimante() tout simplement.
Sincères salutations -- Jean-Claude FLAJOULOT Sécurité, Conseil & Biométrie
SCetB@wanadoo.fr |
| |
| |
| | | |
|
| | |
| |
Publicado el 23,junio 2003 - 10:37 |
"Percapita" <f.lambour@everlog.com> a écrit dans le message de news:3ef196fc@news....
Comment obtenir la listes des imprimantes installé sur mon poste ? API ?
Bonjour,
Dans mon message précédent, j'ai indiqué iListeImprimante(), cette fonction n'existe pas sous 5.5, mais vous pouvez utiliser iConfigure().
Sincères salutations -- Jean-Claude FLAJOULOT Sécurité, Conseil & Biométrie
SCetB@wanadoo.fr |
| |
| |
| | | |
|
| | |
| |
Publicado el 23,junio 2003 - 16:53 |
I_configure() appelle une boite de dialogue et ce n'est pas ce dont j'ai besoin. Pour info j'ai utilisé l'API EnumPrintersA (c'est pas de la tarte...) "JCF1" <flajoulot.jean-claude@wanadoo.fr> a écrit dans le message de news:3ef6ab7d$1@news....
"Percapita" <f.lambour@everlog.com> a écrit dans le message de news:3ef196fc@news.... Comment obtenir la listes des imprimantes installé sur mon poste ? API ?
Bonjour, Dans mon message précédent, j'ai indiqué iListeImprimante(), cette fonction
n'existe pas sous 5.5, mais vous pouvez utiliser iConfigure().
Sincères salutations -- Jean-Claude FLAJOULOT Sécurité, Conseil & Biométrie
SCetB@wanadoo.fr
|
| |
| |
| | | |
|
| | |
| |
Publicado el 23,junio 2003 - 18:07 |
"Percapita" <f.lambour@everlog.com> a écrit dans le message de news:3ef703a4$1@news....
I_configure() appelle une boite de dialogue et ce n'est pas ce dont j'ai besoin.
Bonjour,
Comme vous n'aviez pas précisé ce dont vous aviez besoin, j'ai donc donné cette info, car dans la boite de dialogue vous avez dans la combo << Nom : >> la liste des imprimantes installées sur le poste.
Pour EnumPrintersA, voici le code :
RetourFonction est un booléen Flags, Level, pPrinterEnum, cbBuf, pcbNeeded, pcReturned sont des entiers Name est un entier // Il est aussi possible de spécifier directement une chaîne RetourFonction=API("WINSPOOL.DRV","EnumPrintersA",Flags,Name,Level,pPrinterE num,cbBuf,pcbNeeded,pcReturned)
Sincères salutations -- Jean-Claude FLAJOULOT Sécurité, Conseil & Biométrie
SCetB@wanadoo.fr |
| |
| |
| | | |
|
| | |
| |
Publicado el 25,junio 2003 - 11:01 |
J'utilise ceci, récupéré je ne sais plus où. La procédure que j'ai faite remplit une table mémoire TABLE_IMP avec le nom des imprimantes.
// Recupere la liste des imprimantes disponible sur le poste et remplit la combo LISTE_IMP Procédure Alimenter_Imprimantes()
LOCAL cbBuf est un entier long pbNeeded est un entier long pcReturned est un entier long lIndice est un entier long
p2 est compose de pServerName est un entier long pPrinterName est un entier long pShareName est un entier long pPortName est un entier long pDriverName est un entier long pCommen est un entier long pLocation est un entier long pDevMode est un entier long pSepFile est un entier long pPrintProcessor est un entier long pDatatype est un entier long pParameters est un entier long pSecurityDescriptor est un entier long Attributes est un entier long Priority est un entier long DefaultPriority est un entier long StartTime est un entier long UntilTime est un entier long Stat est un entier long cJobs est un entier long AveragePPM est un entier long fin
ind est un entier nomimp est une chaine asciiz de 128 port est une chaine asciiz de 128 ch est une chaine
appeldll32("winspool.drv","EnumPrintersA",0x6,null,2,null,cbbuf,&pbNeede d,&pcReturned) hmem est un entier long = appeldll32("kernel32","GlobalAlloc",0x40,pbNeeded) cbbuf = pbNeeded si appeldll32("winspool.drv","EnumPrintersA",0x6,null,2,hmem,cbbuf,&pbNeede d,&pcReturned) alors adr est un entier long = hmem pour ind = 1 a pcReturned
appeldll32("kernel32","RtlMoveMemory",&p2,adr,84)
appeldll32("kernel32","RtlZeroMemory",&nomimp,128) appeldll32("kernel32","RtlMoveMemory",&nomimp,p2.pPrinterName ,128)
appeldll32("kernel32","RtlZeroMemory",&port,128) appeldll32("kernel32","RtlMoveMemory",&port,p2.pPortName ,128)
si taille(sansespace(nomimp))>0 alors
si etbinaire(p2.Attributes,4) alors ch="Défaut" sinon ch="" fin // Remplir la table tableajoute("TABLE_IMP",nomimp) fin
adr+„
fin
fin appeldll32("kernel32","GlobalFree",hmem)
// Preselectionner element correspondant à imprimante mémorisée pour lIndice = 1 a tableoccurrence("TABLE_IMP") si sansespace(T_IMP[lIndice]) = sansespace(pImprimante) alors tableselectplus("TABLE_IMP",lIndice) FIN FIN |
| |
| |
| | | |
|
| | | | |
| | |
|