![](/img/trans.png)
[英]C#/.NET: How to access a network printer share with another user's credentials?
[英]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.