Comment lire les propriétés du port d'une imprimante?
hdeumpty
Messages postés5Date d'inscriptionjeudi 25 janvier 2007StatutMembreDernière intervention 9 janvier 2014
-
16 déc. 2013 à 14:36
hdeumpty
Messages postés5Date d'inscriptionjeudi 25 janvier 2007StatutMembreDernière intervention 9 janvier 2014
-
9 janv. 2014 à 09:27
Bonjour,
après avoir longuement cherché, je ne trouve pas la réponse à ma question: est-il possible, et si oui comment, de lire les propriétés d'une imprimante réseau (au préalable ajoutée sur la machine qui exécute le code) pour en extraire l'adresse IP du port - si celui-ci est de type TCP/IP?
J'ai ce besoin pour rendre "user friendly" le paramétrage d'un process d'impression directe par client TCP. L'idée étant que l'utilisateur sélectionne une imprimante par son nom dans une liste et le programme va lire son adresse IP...
Merci d'avance!
PS: je travaille sur un VB Express 2010.
A voir également:
Comment lire les propriétés du port d'une imprimante?
je développe sou VB .Net et mes applis tournent sous XP ou 7.
Le cas Microsoft est pour du VBA et cela ne fonctionne pas sur mon PC, même en VBA avec Excel (ne trouve pas de librairie KERNEL et pas de fonction GetProfileString dans kernel32)
cs_Le Pivert
Messages postés7903Date d'inscriptionjeudi 13 septembre 2007StatutContributeurDernière intervention11 mars 2024137 8 janv. 2014 à 15:36
Voici un code qui affiche les imprimantes dans une listBox. Il suffit de sélectionner dans la listBox l'imprimante que l'on veut mettre par défaut:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'affiche les imprimantes Dim printers As System.Drawing.Printing.PrinterSettings.StringCollection printers = System.Drawing.Printing.PrinterSettings.InstalledPrinters() For x As Integer = 0 To printers.Count - 1 ListBox1.Items.Add(printers(x)) Next End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 'sélectionne l'imprimante par défaut Dim net net = CreateObject("WScript.Network") net.SetDefaultPrinter(ListBox1.SelectedItem) End Sub
hdeumpty
Messages postés5Date d'inscriptionjeudi 25 janvier 2007StatutMembreDernière intervention 9 janvier 2014 9 janv. 2014 à 09:27
Merci mais ça c'est déjà fait.
Mon problème est d'arriver à récupérer l'adresse IP du port de l'imprimante (postulat étant qu'il s'agit d"'une imprimante locale sur port TCP/IP) qui est sélectionnée dans la liste.
J'établit ensuite une connexion TCP sur cette imprimante pour lui transmettre des données sans passer par le spooler Windows.