C#:实现读取网卡信息

NetworkInterface实现读取网卡信息

首先声明NetworkInterface类型的数组存储网卡的信息

NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();

其中的信息含有:
nics[i].NetworkInterfaceType :网络接口的类型,如以太网就是Enternet
nics[i].Description:网卡的描述信息
nics[i].Name:网卡的名字,以太网的名字就是 以太网
nics[i].Id:网卡的标识符,也就是逻辑地址
nics[i].OperationalStatus:网卡的当前操作状态:Up与Down
网卡的IP等信息需要使用

IPInterfaceProperties ip = nics[i].GetIPProperties();

读取出各个网卡的IP等信息

ip.UnicastAddresses[ip.UnicastAddresses.Count - 1].Address
//获取的是网卡的Ipv4的信息
ip.UnicastAddresses[ip.UnicastAddresses.Count - 1].IPv4Mask
//获取的是网卡的子IPv4子网掩码的信息
ip.DnsAddresses[ip.DnsAddresses.Count - 1]
//获取的是自动配置的DNS的信息,
ip.GatewayAddresses[ip.GatewayAddresses.Count - 1].Address
//获
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在C#实现dxf文件的读取和保存,可以使用AutoCAD提供的API。以下是实现的基本步骤: 1. 引用AutoCAD.Interop.dll和AutoCAD.Interop.Common.dll到C#项目中。 2. 创建AutoCAD应用程序对象,并打开dxf文件。 ``` AutoCAD.Application acApp = new AutoCAD.Application(); acApp.Documents.Open("d:\\test.dxf", false); ``` 3. 获取AutoCAD文档对象,通过Document对象获取模型空间和图形对象集合。 ``` Document acDoc = acApp.ActiveDocument; Database acDb = acDoc.Database; BlockTable acBlkTbl = acDb.BlockTable; BlockTableRecord acBlkTblRec = acBlkTbl[BlockTableRecord.ModelSpace]; ``` 4. 通过Entity对象遍历图形对象集合,获取实体数据。 ``` foreach (ObjectId acObjId in acBlkTblRec) { Entity acEnt = acTrans.GetObject(acObjId, OpenMode.ForRead) as Entity; if (acEnt != null) { // 获取实体数据 } } ``` 5. 保存dxf文件。 ``` acDoc.SaveAs("d:\\new.dxf", DwgVersion.AC1024); ``` 完整代码示例: ``` using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.Geometry; using Autodesk.AutoCAD.Interop; using Autodesk.AutoCAD.Interop.Common; namespace DXFTest { class Program { static void Main(string[] args) { // 打开dxf文件 AutoCAD.Application acApp = new AutoCAD.Application(); acApp.Documents.Open("d:\\test.dxf", false); // 获取文档对象 Document acDoc = acApp.ActiveDocument; Database acDb = acDoc.Database; BlockTable acBlkTbl = acDb.BlockTable; BlockTableRecord acBlkTblRec = acBlkTbl[BlockTableRecord.ModelSpace]; // 遍历图形对象集合 foreach (ObjectId acObjId in acBlkTblRec) { Entity acEnt = acTrans.GetObject(acObjId, OpenMode.ForRead) as Entity; if (acEnt != null) { // 获取实体数据 Point3d acPt = acEnt.GeometricExtents.MinPoint; double acWidth = acEnt.GeometricExtents.MaxPoint.X - acEnt.GeometricExtents.MinPoint.X; double acHeight = acEnt.GeometricExtents.MaxPoint.Y - acEnt.GeometricExtents.MinPoint.Y; // 打印实体数据 System.Console.WriteLine("Entity: ({0}, {1}), Width: {2}, Height: {3}", acPt.X, acPt.Y, acWidth, acHeight); } } // 保存dxf文件 acDoc.SaveAs("d:\\new.dxf", DwgVersion.AC1024); // 关闭AutoCAD应用程序 acApp.Quit(); } } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值