如何从C#网络上的IP访问打印机名称?

时间:2011-01-07 20:17:44

标签: c# printing ip

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

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

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

2 个答案:

答案 0 :(得分:6)

完全相同。

\\1.2.3.4\somesharedprinter

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

修改

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

当你有一台电脑时,让我们称它为Bob,然后你共享一台打印机,我们称之为打印机,你可以像这样访问它:

\\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。在你的系统上安装打印机之前,你不能(你可以,但它是hackish)打印到这些。要执行此操作,您将转到打印机,添加打印机,选择“本地”(是,违反直觉)打印机,然后为端口选择TCP / IP,然后输入IP地址。

答案 1 :(得分:2)

如果它有一个主机名,它有一个IP,可以根据需要互换。

\\MyMachine\MyPrinter

...相当于......

\\10.0.0.1\MyPrinter

如果您的打印机不在计算机上并且是联网打印机,则它将拥有您自己的IP地址,您可以使用。

\\MyPrinter

...相当于......

\\10.0.0.2