Déterminer l'Adresse IP d'une Imprimante en C#
Je voudrais connaître l'adresse IP d'une imprimante, à l'aide de C# (.NET 2.0). Je n'ai que le nom de partage l'imprimante comme indiqué sur l'OS de Windows, dans le format \\PC Name\Printer Name
. L'imprimante est une imprimante réseau, et a une adresse IP différente pour le PC. Quelqu'un aurait-il les pointeurs?
Merci d'avance pour votre aide.
Ce Qui Concerne, Andy.
OriginalL'auteur MagicAndi | 2009-03-24
Vous devez vous connecter pour publier un commentaire.
Cochez cette question: Comment obtenir de l'Imprimante Info dans C#.NET?. Je pense que vous avez pour obtenir la propriété
PortName
de l'propriétés de WMI.OriginalL'auteur Panos
Juste l'ajout d'une autre solution d'ici à l'aide .Net Framework 4.0 ou supérieur
OriginalL'auteur Jay
Je sais que c'est un vieux post, mais j'ai eu le même problème lorsque j'ai été en mesure d'obtenir le nom du Port d'Imprimante, mais pas l'IP. Dans mon cas, je ne pouvais pas compter sur le Port du Nom de IP_[Adresse IP], mais trouvé comment faire pour obtenir l'adresse IP actuelle du nom de port.
Windows stocke les informations sur les ports dans le registre en vertu de l'
HKLM\SYSTEM\CurrentControlSet\Control\Print\Moniteurs\Standard TCP/IP Port\Ports\[nom du port]
Cette clé contient les valeurs définies dans la page configuration du port, y compris l'adresse IP et numéro de port.
Un rapide exemple en C# pour obtenir l'adresse IP
Merci Michael. C'est la réponse exacte, le nom de port n'est pas fiable pour obtenir IPAdress. J'ai eu à modifier le code de
String IP = (String)key.GetValue("HostName", String.Empty, RegistryValueOptions.DoNotExpandEnvironmentNames);
à mon exigence.Pour être clair, ce qui doit être fait une fois que vous obtenez le Port de l'autre réponses
ce n'est pas plus la réponse est correcte, je l'ai testé dans mon pc mais pas de travail et j'ai regardé le reg touches, puis le port noms sont différents .
OriginalL'auteur Michael Ball
à l'aide de la classe WIN32_Printer n'est pas assez ici. Il doit être combiné avec Win32_TCPIPPrinterPort.
Ci-dessous est le code qui devrait vous aider:
OriginalL'auteur Alexander A. Sharygin
Basée sur le lien Comment obtenir de l'Imprimante Info dans .NET? (Merci, Panos, j'étais déjà en regardant le lien!), J'ai la solution suivante de Panos de l' réponse:
Évidemment, cela ne fonctionne que si le nom du port de l'imprimante est donnée dans le format "IP_IPAddress", qui est, je crois, est la valeur par défaut.
OriginalL'auteur MagicAndi
Est-ce la configuration de l'imprimante dans un réseau qui a Active Directory?
Ou est-ce sur votre propre réseau local avec juste un commutateur et de votre imprimante branchée en elle?
Si c'est l'ancien, alors vous devriez être capable de faire une requête pour qu'il basé sur le "nom de l'imprimante". Cet article montrer comment obtenir de c# .net pour vous connecter à l'AD. Mais cela nécessite une certaine connaissance de l'ANNONCE serveurs de votre réseau.
Cette solution me semble un peu long pour moi, mais peut être un bon point de départ?
OriginalL'auteur Irfy