123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Text;
- using System.Management;
- namespace SysSecLibs
- {
- public class Utils
- {
- public static Array StrToArray(string str)
- {
- return StrToArrayEx(str, ",");
- }
- /// <summary>
- /// 将一个字符串以分割符转换成Array对象,如 a,[b,[c,d]],e 将分割成 a ; b,[c,d] ; e 三个串
- /// </summary>
- /// <param name="str"></param>
- /// <param name="separator"></param>
- /// <returns></returns>
- public static Array StrToArrayEx(string str, string separator)
- {
- ArrayList list1 = new ArrayList();
- str = (str == null) ? "" : str.Trim();
- int num1 = separator.Length;
- while (str.Length > 0)
- {
- int num2 = str.IndexOf(separator);
- int num3 = str.IndexOf("[");
- if ((num3 >= 0) && (num3 < num2))
- {
- int num4 = 1;
- int num5 = str.Length;
- int num6 = num3 + 1;
- while (num6 < num5)
- {
- switch (str[num6])
- {
- case '[':
- num4++;
- goto Label_0082;
- case '\\':
- goto Label_0082;
- case ']':
- break;
- default:
- goto Label_0082;
- }
- num4--;
- Label_0082:
- if (num4 == 0)
- {
- break;
- }
- num6++;
- }
- num2 = str.IndexOf(separator, num6);
- }
- if (num2 < 0)
- {
- num2 = str.Length;
- }
- string text1 = str.Substring(0, num2);
- int num7 = text1.Length;
- if (((num7 > 0) && (text1[0] == '[')) && (text1[num7 - 1] == ']'))
- {
- text1 = text1.Substring(1, num7 - 2);
- }
- list1.Add(text1.Trim());
- if ((num2 + num1) > str.Length)
- {
- str = "";
- }
- else
- {
- str = str.Substring(num2 + num1).Trim();
- }
- }
- Array array1 = Array.CreateInstance(typeof(string), list1.Count);
- list1.CopyTo(array1);
- return array1;
- }
- public static string GetMachineMac()
- {
- string lcRetVal = "";
- try
- {
- string text2 = "select AdapterType, DeviceID, ProductName, ServiceName, MACAddress from Win32_NetworkAdapter";
- WqlObjectQuery query1 = new WqlObjectQuery(text2);
- ManagementObjectCollection collection1 = new ManagementObjectSearcher(query1).Get();
- foreach (ManagementObject obj1 in collection1)
- {
- lcRetVal += ((lcRetVal == "") ? "" : ",") + obj1["MACAddress"];
- }
- return lcRetVal;
- }
- catch (Exception)
- {
- }
- return lcRetVal;
- }
- public static string GetCpuId()
- {
- string lcRetVal = "";
- try
- {
- string text2 = "select CurrentClockSpeed, Name, OtherFamilyDescription, ProcessorId, ProcessorType, SystemName, UniqueId from Win32_Processor";
- WqlObjectQuery query1 = new WqlObjectQuery(text2);
- ManagementObjectCollection collection1 = new ManagementObjectSearcher(query1).Get();
- foreach (ManagementObject obj1 in collection1)
- {
- lcRetVal = lcRetVal + ((lcRetVal == "") ? "" : ",") + obj1["ProcessorId"];
- }
- return lcRetVal;
- }
- catch (Exception)
- {
- }
- return lcRetVal;
- }
- }
- }
|