繁体   English   中英

如何在C#中通过网络上的IP访问打印机名称?

[英]How to access a printer name from IP on network in C#?

我可以使用名称为“ \\\\ xxxx \\ [打印机名称]”的打印机,但是不知道如何仅使用打印机的IP来访问它。 有任何想法吗?

编辑:答案似乎表明我可以简单地将打印机名称换成打印机的IP地址,但是事实并非如此。 还有其他想法吗?

更新:将打印机作为IP寻址的原因是网络人员为所有打印机提供了相同的共享名,因此,除了IP之外,我无法区分它们。

完全一样。

\\1.2.3.4\somesharedprinter

其中“ 1.2.3.4”是共享打印机的IP地址。

编辑:

即使您的打印机具有内置的网络接口,我们还是要暂时将其与打印服务器分开。

当您有一台计算机时,我们将其称为Bob,并与您共享一台打印机,将其称为printy,您可以按以下方式访问它:

\\\\Bob\\printy

该地址的第一部分是主机名或IP地址。 如果Bob的IP地址为1.2.3.4,则可以轻松地使用以下地址代替:

\\\\1.2.3.4\\printy

现在看来,您的打印机具有内置的打印服务器,可以使它本质上通过网络共享。 这些打印服务器大多数与Windows文件/打印机共享完全兼容。 因此,如果打印机的IP为2.3.4.5,我们可以使用如下地址:

\\\\2.3.4.5\\something

你想要something一部分,是吗? 为此,我们需要枚举该打印服务器上的份额。 您可以使用以下代码来做到这一点: http : //www.codeproject.com/KB/IP/networkshares.aspx

据我所知,没有托管的方法可以获取服务器上的共享列表,因此,上面的链接可能是您目前的最佳选择。

我还要注意,打印服务器的另一个常见标准是HP Jet Direct。 在将打印机安装到系统上之前,您不能(当然可以,但是有点脚)打印这些。 为此,您将转到“打印机”,“添加打印机”,选择一个“本地”(是的,违反直觉的)打印机,然后为端口选择“ TCP / IP”,然后输入IP地址。

如果它具有主机名,则它具有IP,并且可以根据需要互换它们。

\\MyMachine\MyPrinter

等于

\\10.0.0.1\MyPrinter

如果您的打印机不在计算机上,而是网络打印机,则它将具有自己的IP地址供您使用。

\\MyPrinter

...等于...

\\10.0.0.2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM