Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取网络上的扫描仪列表_C#_.net_Networking - Fatal编程技术网

C# 获取网络上的扫描仪列表

C# 获取网络上的扫描仪列表,c#,.net,networking,C#,.net,Networking,我需要获取网络上的扫描仪列表,这些扫描仪不一定安装在运行程序的机器上。我不确定该如何做,搜索StackOverflow也无济于事 背景 我需要获得网络上扫描仪的列表以及它们的详细信息,如设备id、ip地址、名称等,以便我可以使用某种TWAIN解决方案与它们通信。我需要能够告诉网络扫描仪在哪里保存扫描取决于应用程序的工作流程 TLDR 使用C语言,如何获取网络上安装在本地计算机上的所有扫描仪的列表 澄清 扫描仪在网络上通过以太网连接到路由器。它们未连接到运行应用程序的服务器。这些是我唯一感兴趣的扫

我需要获取网络上的扫描仪列表,这些扫描仪不一定安装在运行程序的机器上。我不确定该如何做,搜索StackOverflow也无济于事

背景

我需要获得网络上扫描仪的列表以及它们的详细信息,如设备id、ip地址、名称等,以便我可以使用某种TWAIN解决方案与它们通信。我需要能够告诉网络扫描仪在哪里保存扫描取决于应用程序的工作流程

TLDR

使用C语言,如何获取网络上安装在本地计算机上的所有扫描仪的列表

澄清


扫描仪在网络上通过以太网连接到路由器。它们未连接到运行应用程序的服务器。这些是我唯一感兴趣的扫描仪列表。

您无法获得扫描仪列表。这取决于扫描仪设备类型,一些扫描仪使用USB而不是以太网。如果您确定所需的扫描仪已通过网络电缆连接到计算机,则您可以通过ping等方式进行搜索,并根据扫描仪API发送一些标题文本。

您可以尝试使用Win32®中的Select*。
但是,您必须找出筛选扫描仪的条件。

这些扫描仪上有以太网连接的网络扫描仪,还是本地连接到网络上的PC?扫描仪上的以太网连接给定IP地址,您是否已经有方法ping它以查看是否有扫描仪?如果是这样,问题就变成了如何扫描本地网络上的所有IP地址?或者你在问如何在给定的IP地址检测扫描仪?我想如果我知道IP地址,我将如何检测它是IP地址的扫描仪,而不是其他设备?但理想情况下,我希望我的应用程序能够首先发现网络上的所有扫描仪。他所指的设备可能不是PNP,扫描仪与网络连接。