Form1.cs 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. using Azylee.Core.DataUtils.CollectionUtils;
  2. using Azylee.Core.IOUtils.DirUtils;
  3. using Azylee.Core.IOUtils.TxtUtils;
  4. using Azylee.Core.LogUtils.SimpleLogUtils;
  5. using Azylee.Core.NetUtils;
  6. using Azylee.Core.ThreadUtils.SleepUtils;
  7. using Azylee.Core.WindowsUtils.InfoUtils;
  8. using Azylee.Ext.NetworkX.NetConLibUtils;
  9. using NETCONLib;
  10. using System;
  11. using System.Collections.Generic;
  12. using System.ComponentModel;
  13. using System.Data;
  14. using System.Drawing;
  15. using System.Linq;
  16. using System.Management;
  17. using System.Text;
  18. using System.Threading.Tasks;
  19. using System.Windows.Forms;
  20. namespace Test.NetworkControl
  21. {
  22. public partial class Form1 : Form
  23. {
  24. Log log = new Log();
  25. List<Tuple<string, string, string, string, string>> MacList = null;
  26. public Form1()
  27. {
  28. InitializeComponent();
  29. }
  30. private void Form1_Load(object sender, EventArgs e)
  31. {
  32. List<string> list111 = NetcardControlTool.GetList();
  33. MacList = NetCardInfoTool.GetNetworkCardInfo();
  34. if (Ls.Ok(MacList))
  35. {
  36. LbxNetworkList.Items.Clear();
  37. foreach (var item in MacList) LbxNetworkList.Items.Add(item.Item2);
  38. }
  39. }
  40. private void BtnLoad_Click(object sender, EventArgs e)
  41. {
  42. List<string> list111 = NetcardControlTool.GetList();
  43. MacList = NetCardInfoTool.GetNetworkCardInfo();
  44. if (Ls.Ok(MacList))
  45. {
  46. LbxNetworkList.Items.Clear();
  47. foreach (var item in MacList) LbxNetworkList.Items.Add(item.Item2);
  48. }
  49. }
  50. private void BtnEnable_Click(object sender, EventArgs e)
  51. {
  52. //var key = GetNetworkName();
  53. //ManagementObject network = NetcardControlTool.GetNetWorkByConnectId(key);
  54. //if (network != null)
  55. //{
  56. // if (NetcardControlTool.Enable(network))
  57. // {
  58. // SetResult("成功");
  59. // }
  60. // else
  61. // {
  62. // SetResult("失败");
  63. // }
  64. //}
  65. NetConLibTool.Connect();
  66. }
  67. private void BtnDisable_Click(object sender, EventArgs e)
  68. {
  69. //var key = GetNetworkName();
  70. //ManagementObject network = NetcardControlTool.GetNetWorkByConnectId(key);
  71. //if (network != null)
  72. //{
  73. // if (NetcardControlTool.Disable(network))
  74. // {
  75. // SetResult("成功");
  76. // }
  77. // else
  78. // {
  79. // SetResult("失败");
  80. // }
  81. //}
  82. NetConLibTool.Disconnect();
  83. }
  84. private string GetNetworkName()
  85. {
  86. int idx = LbxNetworkList.SelectedIndex;
  87. if (idx >= 0 && MacList.Count > idx)
  88. {
  89. return MacList[idx].Item1;
  90. }
  91. return "";
  92. }
  93. private void SetResult(string s)
  94. {
  95. Invoke(new Action(() =>
  96. {
  97. LbResult.Text = s + Environment.NewLine + DateTime.Now;
  98. }));
  99. }
  100. private void BtnTest_Click(object sender, EventArgs e)
  101. {
  102. Task.Factory.StartNew(() =>
  103. {
  104. try
  105. {
  106. string manage = "SELECT * From Win32_NetworkAdapter";
  107. ManagementObjectSearcher searcher = new ManagementObjectSearcher(manage);
  108. ManagementObjectCollection collection = searcher.Get();
  109. foreach (ManagementObject obj in collection)
  110. {
  111. foreach (var item in obj.Properties)
  112. {
  113. log.i(" ::: " + item.Name + " ::: " + item.Value);
  114. }
  115. log.i("==============================");
  116. log.i("==============================");
  117. }
  118. }
  119. catch { }
  120. //====================================
  121. log.v("STEP 1:获取网卡列表");
  122. var list = NetCardInfoTool.GetNetworkCardInfoId();
  123. if (Ls.ok(list))
  124. {
  125. foreach (var item in list)
  126. {
  127. log.v($"{item.Item1} | {item.Item2} | {item.Item3} | {item.Item4} | {item.Item5}");
  128. }
  129. }
  130. //====================================
  131. log.v("STEP 2:检查网卡状态");
  132. if (Ls.ok(list))
  133. {
  134. foreach (var item in list)
  135. {
  136. var status = NetCardInfoTool.GetOpStatus(item.Item3);
  137. log.v($"{item.Item1} | {item.Item2} | {item.Item3} | {status.ToString()}");
  138. }
  139. }
  140. //====================================
  141. log.v("STEP 3:Ping 10.49.129.7");
  142. bool pingflag1 = PingTool.Ping("10.49.129.7");
  143. if (pingflag1) log.v("Ping 正常");
  144. else log.v("Ping 异常");
  145. //====================================
  146. log.v("STEP 4:禁用网卡");
  147. NetConLibTool.Disconnect();
  148. //if (Ls.ok(list))
  149. //{
  150. // foreach (var item in list)
  151. // {
  152. // ManagementObject network = NetcardControlTool.GetNetWorkByConnectId(item.Item1);
  153. // if (network != null)
  154. // {
  155. // bool disflag = NetcardControlTool.Disable(network);
  156. // log.v($"{item.Item1} | {item.Item2} | {item.Item3} | 禁用: {(disflag ? "成功" : "失败")}");
  157. // }
  158. // }
  159. //}
  160. //====================================
  161. log.v("STEP 5:检查网卡状态");
  162. if (Ls.ok(list))
  163. {
  164. foreach (var item in list)
  165. {
  166. var status = NetCardInfoTool.GetOpStatus(item.Item3);
  167. log.v($"{item.Item1} | {item.Item2} | {item.Item3} | {status.ToString()}");
  168. }
  169. }
  170. //====================================
  171. log.v("STEP 6:Ping 10.49.129.7");
  172. bool pingflag2 = PingTool.Ping("10.49.129.7");
  173. if (pingflag2) log.v("Ping 正常");
  174. else log.v("Ping 异常");
  175. //====================================
  176. log.v("STEP 7:遍历启用网卡");
  177. NetConLibTool.Connect();
  178. //if (Ls.ok(list))
  179. //{
  180. // foreach (var item in list)
  181. // {
  182. // ManagementObject network = NetcardControlTool.GetNetWorkByConnectId(item.Item1);
  183. // if (network != null)
  184. // {
  185. // bool disflag = NetcardControlTool.Enable(network);
  186. // log.v($"{item.Item1} | {item.Item2} | {item.Item3} | 启用: {(disflag ? "成功" : "失败")}");
  187. // }
  188. // }
  189. //}
  190. //====================================
  191. log.v("STEP 8:等待一下");
  192. Sleep.S(20);
  193. //====================================
  194. log.v("STEP 9:检查网卡状态");
  195. if (Ls.ok(list))
  196. {
  197. foreach (var item in list)
  198. {
  199. var status = NetCardInfoTool.GetOpStatus(item.Item3);
  200. log.v($"{item.Item1} | {item.Item2} | {item.Item3} | {status.ToString()}");
  201. }
  202. }
  203. //====================================
  204. log.v("STEP 10:Ping 10.49.129.7");
  205. bool pingflag3 = PingTool.Ping("10.49.129.7");
  206. if (pingflag3) log.v("Ping 正常");
  207. else log.v("Ping 异常");
  208. //====================================
  209. SetResult("测试结束,已生成测试报告");
  210. });
  211. }
  212. }
  213. }