|
|
|
|
||||||
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Bonjour à toutes et tous,
Existe-t-il un moyen de tester si une imprimante est connectée avant de s'en servir ? Je m'explique : La plupart de nos imprimantes sont en réseau, très souvent connectées directement via ethernet mais parfois aussi via un partage réseau sur un PC dédié. Nos charmants utilisateurs ne vérifient pas toujours que l'imprimante est allumée et bien disponible sur le réseau avant de lancer une impression. Hors certains drivers (notamment HP via Imfnt5.dll et ZIMFDRV.dll) renvoient une exception plutôt que de donner une explication claire... Et là, l'exception m'est envoyée par email après avoir été affichée à l'utilisateur. Mais nos charmants utilisateurs ne savent pas lire et réessayent en moyenne 4 fois avant de se poser des questions... Du coup, ça commence à me gaver et comme j'ai perdu tout espoir de voir HP réparer ses drivers, je me demandais si y'avait pas moyen de tester l'imprimante sans pour autant crasher le driver. Ou alors d'appeler une fonction qui empêcherait le driver de crasher. Merci d'avance pour votre aide Olivier |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
Salut,
Tu as des printservers dessus ??? Sinon, bêtement, je fais un ping et si j'ai une réponse, elle est connectée :-))) A+, Boubou "OBones" <obones_dfd_@_zeea_altern.org> a écrit dans le message de news:fdagme$pu2$1@sd-6498.dedibox.fr... > Bonjour à toutes et tous, > > Existe-t-il un moyen de tester si une imprimante est connectée avant de > s'en servir ? > Je m'explique : > > La plupart de nos imprimantes sont en réseau, très souvent connectées > directement via ethernet mais parfois aussi via un partage réseau sur un > PC dédié. > Nos charmants utilisateurs ne vérifient pas toujours que l'imprimante > est allumée et bien disponible sur le réseau avant de lancer une > impression. > Hors certains drivers (notamment HP via Imfnt5.dll et ZIMFDRV.dll) > renvoient une exception plutôt que de donner une explication claire... > Et là, l'exception m'est envoyée par email après avoir été affichée à > l'utilisateur. > Mais nos charmants utilisateurs ne savent pas lire et réessayent en > moyenne 4 fois avant de se poser des questions... > > Du coup, ça commence à me gaver et comme j'ai perdu tout espoir de voir > HP réparer ses drivers, je me demandais si y'avait pas moyen de tester > l'imprimante sans pour autant crasher le driver. Ou alors d'appeler une > fonction qui empêcherait le driver de crasher. > > Merci d'avance pour votre aide > Olivier |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
Boubou wrote:
> Salut, > > Tu as des printservers dessus ??? > Sinon, bêtement, je fais un ping et si j'ai une réponse, elle est connectée > :-))) Euh, le truc, c'est que je n'ai que l'objet TPrinter à disposition, rien de plus. |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
"OBones" <obones_dfd_@_zeea_altern.org> a écrit dans le message de news:fdauit$1tv$1@sd-6498.dedibox.fr... > Euh, le truc, c'est que je n'ai que l'objet TPrinter à disposition, rien > de plus. Ben si elles sont en réseau avec un printserver, elles ont une adresse IP non ??? Sur mon réseau en tout cas, je peux faire un ping comme je t'ai dit... |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
Boubou wrote:
> "OBones" <obones_dfd_@_zeea_altern.org> a écrit dans le message de > news:fdauit$1tv$1@sd-6498.dedibox.fr... >> Euh, le truc, c'est que je n'ai que l'objet TPrinter à disposition, rien >> de plus. > > Ben si elles sont en réseau avec un printserver, elles ont une adresse IP > non ??? > > Sur mon réseau en tout cas, je peux faire un ping comme je t'ai dit... Oui mais faire le ping, d'accord. Mais comment savoir l'IP de l'imprimante juste à partir de l'objet TPrinter? Et puis pour certaines, y'a un PC allumé qui répondra au ping, mais elles ne sont pas forcément là... |
|
|
|
#6 |
|
Messages: n/a
Hébergeur: |
On Tue, 25 Sep 2007 15:12:32 +0200, OBones
<obones_dfd_@_zeea_altern.org> wrote: >Oui mais faire le ping, d'accord. Mais comment savoir l'IP de >l'imprimante juste à partir de l'objet TPrinter? >Et puis pour certaines, y'a un PC allumé qui répondra au ping, mais >elles ne sont pas forcément là... Et un "ping \\MonImprimante" ? Il y a un logiciel qui fait ca (freeware): http://dipisoft.free.fr/articles.php?lng=fr&pg=63 Voir si ca marche dans toute les configuration Ou bien voir le protocole SNMP : http://www.support.xerox.com/srvs/do...mended/A3d.htm -- La vie, c'est comme une boite de chocolat, on sait jamais sur quoi on va tomber... C'est de la connerie, il suffit de retourner la boite pour voir les differente sorte sur la photo. Seulement maintenant t'es dans la merde parce que les chocolats sont par terre.... |
|
|
|
#7 |
|
Messages: n/a
Hébergeur: |
Passé simple de l'imparfait wrote:
> On Tue, 25 Sep 2007 15:12:32 +0200, OBones > <obones_dfd_@_zeea_altern.org> wrote: > >> Oui mais faire le ping, d'accord. Mais comment savoir l'IP de >> l'imprimante juste à partir de l'objet TPrinter? >> Et puis pour certaines, y'a un PC allumé qui répondra au ping, mais >> elles ne sont pas forcément là... > > Et un "ping \\MonImprimante" ? > > Il y a un logiciel qui fait ca (freeware): > http://dipisoft.free.fr/articles.php?lng=fr&pg=63 > Voir si ca marche dans toute les configuration > > > Ou bien voir le protocole SNMP : > http://www.support.xerox.com/srvs/do...mended/A3d.htm Oui, mais comment à partir de l'objet TPrinter dans Delphi je récupère le nom réseau de l'imprimante ? Y'a une propriété pour ça ? Pfff, je sens que ça va être une galère ce truc... font chier HP... |
|
|
|
#8 |
|
Messages: n/a
Hébergeur: |
"OBones" <obones_dfd_@_zeea_altern.org> a écrit dans le message de news:
fdagme$pu2$1@sd-6498.dedibox.fr... > Bonjour à toutes et tous, > > Existe-t-il un moyen de tester si une imprimante est connectée avant de > s'en servir ? > Je m'explique : > > La plupart de nos imprimantes sont en réseau, très souvent connectées > directement via ethernet mais parfois aussi via un partage réseau sur un > PC dédié. > Nos charmants utilisateurs ne vérifient pas toujours que l'imprimante est > allumée et bien disponible sur le réseau avant de lancer une impression. > Hors certains drivers (notamment HP via Imfnt5.dll et ZIMFDRV.dll) > renvoient une exception plutôt que de donner une explication claire... > Et là, l'exception m'est envoyée par email après avoir été affichée à > l'utilisateur. > Mais nos charmants utilisateurs ne savent pas lire et réessayent en > moyenne 4 fois avant de se poser des questions... > > Du coup, ça commence à me gaver et comme j'ai perdu tout espoir de voir HP > réparer ses drivers, je me demandais si y'avait pas moyen de tester > l'imprimante sans pour autant crasher le driver. Ou alors d'appeler une > fonction qui empêcherait le driver de crasher. > > Merci d'avance pour votre aide > Olivier Salut Moi je chercherai du coté des API de WinSpool: OpenPrinter pour récuperer le handle de l'imprimante GetPrinter pour récuperer des infos. Avec un PRINTER_INFO_2, tu peux récupérer le statut : hors ligne, erreur, occupé ... JP |
|
|
|
#9 |
|
Messages: n/a
Hébergeur: |
>>
> Oui, mais comment à partir de l'objet TPrinter dans Delphi je récupère le > nom réseau de l'imprimante ? Y'a une propriété pour ça ? > Même réponse, avec un truc du style : uses WinSpool; var size: DWord; PrinterInfo2: PPrinterInfo2; begin Size := 0; GetMem(PrinterInfo2, Size); if not OpenPrinter(pchar(printer.Printers[i]), HPrinter, nil) then erreur := 'openPrinter : ' + SysErrorMessage(GetLastError) else begin Winspool.GetPrinter(HPrinter, 2, PrinterInfo2, Size, @Size); ReAllocMem(PrinterInfo2, Size); if not Winspool.GetPrinter(HPrinter, 2, PrinterInfo2, Size, @Size) then erreur := 'Erreur get : ' + SysErrorMessage(GetLastError) else begin with PrinterInfo2^ do begin pServerName <== Nom du serveur pShareName <= Nom du partage ==> donc chemin complet = '\\' + pServerName + '\' + pShareName; end; end; end; JP |
|
|
|
#10 |
|
Messages: n/a
Hébergeur: |
Merci, je regarde ça
|
|
|
|
#11 |
|
Messages: n/a
Hébergeur: |
On Wed, 26 Sep 2007 09:55:29 +0200, OBones
<obones_dfd_@_zeea_altern.org> wrote: >Oui, mais comment à partir de l'objet TPrinter dans Delphi je récupère >le nom réseau de l'imprimante ? Y'a une propriété pour ça ? Et si dans delphi tu le passe en ligne de commande dans un shell dos ? -- La vie, c'est comme une boite de chocolat, on sait jamais sur quoi on va tomber... C'est de la connerie, il suffit de retourner la boite pour voir les differente sorte sur la photo. Seulement maintenant t'es dans la merde parce que les chocolats sont par terre.... |
|
![]() |
| Outils de la discussion | |
|
|