(我已经在谷歌搜索了几天。没有运气。商业秘密?)
我有一台自行安装打印机的笔记本电脑(佳能MF4500w系列)。笔记本电脑通过空气与打印机通信。打印机本身直接连接到路由器,打印机不使用静态IP地址。路由器将ip地址分配给打印机。
在我的笔记本电脑中,它们是
中的打印机的无注册表项HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Print \ Monitors \ Standard TCP / IP Port \ Ports
但是,Canon MFNP Port有一个端口条目:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Canon MFNP Port\Ports
of CNMFNP_001E8FB0726C
此注册表项显示:
IPFixed REG_DWORD 0x000000000 (0)
PrinterPort REG-DWORD 0x0000238c (9100)
Protocol REG_DWORD 0x00000001 (1)
TargetAddress REG_DWORD 0x390b000a (957022218)
TargetMAC REG_SZ 00-1E-8F-B0-72-6C
TargetPort REG_DWORD 0x0000021a2 (8610)
我的猜测是打印机驱动程序本身具备通过注册表中的信息搜索联网打印机的功能。
是否有一个Windows函数(理想情况下在C#中)可以执行相同的功能并返回此注册表项中给定内容的打印机的当前IP地址?
非常感谢任何帮助。感谢。
答案 0 :(得分:0)
作为一个新手,我想发布我的发现,希望有更多了解我的人可以改善这个答案。 (我希望这符合SO的精神。)
问题的简短回答是:只有打印机驱动程序知道如何到达目标设备。
答案很长:
我希望专家能够纠正这个答案!感谢。