可以通过使用命名空间下的ManagementObjectSearcher类及其方法Get来获得通用网卡信息。
其中,最重要的是ManagementObjectSearcher构造函数的输入参数,可以传入以下的QueryString。
SELECT * FROM Win32_NetworkAdapterConfiguration
以下的例子为将本地网卡的配置信息写入一个文件并保存,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
using System.IO; using System.Linq; using System.Management; namespace ConsoleApp { class Program { static void Main( string [] args) { ManagementObjectSearcher managementObjectSearcher = new ManagementObjectSearcher( "SELECT * FROM Win32_NetworkAdapterConfiguration" ) ; ManagementObjectCollection managementObjectCollection = managementObjectSearcher.Get(); StreamWriter writer = new StreamWriter( "result.csv" ); bool isFirstRow = true ; foreach (ManagementObject managementObject in managementObjectCollection) { string header = string .Empty; string content = string .Empty; string separator1 = "," ; string separator2 = " | " ; foreach (var item in managementObject.Properties) { if (isFirstRow) { header = $ "{header}{separator1}{item.Name}" ; } string valueTemp = string .Empty; if (item.Value != null ) { if (item.Value is string [] || item.Value is ushort []) { string [] valuesStrTemp; if (item.Value is ushort []) valuesStrTemp = (( ushort [])item.Value).Select(x => x.ToString()).ToArray(); else valuesStrTemp = item.Value as string []; for ( int i = 0; i < valuesStrTemp.Length; i++) { valueTemp = $ "{valueTemp}{separator2}{valuesStrTemp[i]}" ; } if (valuesStrTemp.Length != 0) valueTemp = valueTemp.Remove(0, separator2.Length); } else valueTemp = item.Value.ToString(); } content = $ "{content}{separator1}{valueTemp}" ; } if (isFirstRow) { header = header.Remove(0, separator1.Length); writer.WriteLine(header); isFirstRow = false ; } content = content.Remove(0, separator1.Length); writer.WriteLine(content); } writer.Close(); } } } |
运行结果如下:
以上就是C# 获得本地通用网卡信息的示例代码的详细内容,更多关于c# 获得网卡信息的资料请关注服务器之家其它相关文章!
原文链接:https://www.cnblogs.com/cncc/p/11275838.html