C#怎样得到打印机驱动的ip或端口号解决办法

C#怎样得到打印机驱动的ip或端口号解决办法,第1张

解决方案一 使用WMI获取打印机信息

WMI,全称Windows Management Instrumentation。是可伸缩的系统管理结构,它采用一个统一的、基于标准的、可扩展的面向对象接口。WMI 为您提供与系统管理信息和基础 WMI API 交互的标准方法。WMI 主要由系统管理应用程序开发人员和管理员用来访问和 *** 作系统管理信息。

Net Framework中SystemManagement类提供了对WMI的支持,其中ManagementObjectSearcher用于根据指定的查询或枚举检索 ManagementObject 或 ManagementClass 对象的集合。

///// <summary>

/// Code 1:WMI搜索示例

/// <summary>

/// <param name="strDrivername">驱动名称</param>

/// <returns>返回找到的打印机列表</returns>

/// <remarks>strDrivername支持”%“以及”_“通配符查询,类似于SQL语句中的查询<remarks>

public StringCollection GetPrintsWithDrivername( string strDrivername )

{

StringCollection scPrinters = new StringCollection();

string strcheck = "";

if( strDrivername !="" && strDrivername != "" )

strcheck = " where DriverName like \'" + strDrivername + "\'";

string searchQuery = "SELECT Name FROM Win32_Printer" + strcheck;

ManagementObjectSearcher searchPrinters =

new ManagementObjectSearcher(searchQuery);

ManagementObjectCollection printerCollection = searchPrintersGet();

foreach(ManagementObject printer in printerCollection)

{

string printname = printerProperties["Name"]ValueToString();

scPrintersAdd(printname);

}

searchPrintersDispose();

printerCollectionDispose();

return scPrinters;

}

问题看上去基本解决了,运行程序的确是获得了正确的打印机列表。可是用户用了一段时间后发现,有的时候打印机无法正确获得,看来DOTNET调用WMI稳定性的确有点问题啊。。。。。。

WMI本身功能还是相当强大的,通过VBS基本可以涵盖WINDOWS最基本的 *** 作。详细可以参加MSDN的文档。

>

解析浏览器网页整个过程(>

打开浏览器输入网址,客户端反复寻求名称服务器来获得解析结果,之后通过地址解析将IP转换成MAC: 1)、查缓存 2)、在缓存里查不到就发ARP请求 3)、目的主机受到ARP请求后,就记录请求主机的MAC地址,然后发送ARP应答 4)、主机收到后就记录目的主机的MAC地址,然后发送数据 >

以上就是关于C#怎样得到打印机驱动的ip或端口号解决办法全部的内容,包括:C#怎样得到打印机驱动的ip或端口号解决办法、提问 如何在web.xml中写入ip地址,端口号并且在servlet中提取,谢谢。、快速搞懂URL的构成等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9759956.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存