/// <summary> /// 获取所有网卡信息列表 /// </summary> /// <returns></returns> public static IList <NetCardInfo> GetNetCardInfo() { ManagementClass managementClass = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection moc = managementClass.GetInstances(); List <NetCardInfo> cards = new List <NetCardInfo>(); foreach (ManagementObject mo in moc) { if ((bool)mo["IPEnabled"]) { NetCardInfo card = new NetCardInfo() { Caption = CommOp.ToStr(mo.Properties["Caption"].Value), Description = CommOp.ToStr(mo.Properties["Description"].Value), MACAddress = CommOp.ToStr(mo.Properties["MACAddress"].Value), SettingID = CommOp.ToGuid(mo.Properties["SettingID"].Value), }; if (card.MACAddress != "00:00:00:00:00:00") { cards.Add(card); } } } return(cards); }
/// <summary> /// 获取所有CPU信息列表 /// </summary> /// <returns></returns> public static IList <CpuInfo> GetCpuInfo() { ManagementClass managementClass = new ManagementClass("Win32_Processor"); ManagementObjectCollection moc = managementClass.GetInstances(); IList <CpuInfo> cpus = new List <CpuInfo>(); foreach (ManagementObject mo in moc) { CpuInfo cpu = new CpuInfo() { AddressWidth = CommOp.ToInt(mo.Properties["AddressWidth"]), CurrentClockSpeed = CommOp.ToInt(mo.Properties["CurrentClockSpeed"]), MaxClockSpeed = CommOp.ToInt(mo.Properties["MaxClockSpeed"]), Description = CommOp.ToStr(mo.Properties["Description"]), DeviceID = CommOp.ToStr(mo.Properties["DeviceID"]), ExtClock = CommOp.ToInt(mo.Properties["ExtClock"]), L2CacheSize = CommOp.ToInt(mo.Properties["L2CacheSize"]), Manufacturer = CommOp.ToStr(mo.Properties["Manufacturer"]), Name = CommOp.ToStr(mo.Properties["Name"]), ProcessorId = CommOp.ToStr(mo.Properties["ProcessorId"]), }; cpus.Add(cpu); } return(cpus); }
public static TimeSpan ToTimeSpan(object p) { TimeSpan ts = default(TimeSpan); TimeSpan.TryParse(CommOp.ToStr(p), out ts); return(ts); }
/// <summary> /// 按全角2个单位半角1个单位截取指定长度单位的字符串 /// </summary> /// <param name="s">原字符串</param> /// <param name="len">保留的长度</param> /// <returns>截取后的字符串</returns> public static string CutByteStr(String s, int len) { if (s == null) { return(""); } if (CommOp.ByteLength(s) <= len) { return(s); } StringBuilder sb = new StringBuilder(); int l = 0; foreach (char c in s) { l++; if (c > 127) { l++; } if (l >= len) { break; } sb.Append(c); } return(sb.ToString()); }
/// <summary> /// 将字符串分割成长整数数组 /// </summary> /// <param name="ints"></param> /// <param name="c"></param> /// <returns></returns> public static long[] ToLongArray(string ints, char c) { string[] sArr = ints.Split(c); long[] iArr = new long[sArr.Length]; for (int i = 0; i < sArr.Length; i++) { iArr[i] = CommOp.ToLong(sArr[i]); } return(iArr); }
/// <summary> /// 设置一个属性 /// </summary> /// <param name="propName">属性名称</param> /// <param name="o">属性值</param> void SetValue(String propName, object o) { if (o == null) { propTable.Remove(propName); } else { propTable[propName] = CommOp.ToStr(o); } }
/// <summary> /// 将字符串分割成整数数组 /// </summary> /// <param name="ints"></param> /// <param name="c"></param> /// <returns></returns> public static int[] ToIntArray(string ints, char c) { if (ints.IsEmpty()) { return(new int[0]); } string[] sArr = ints.Split(c); int[] iArr = new int[sArr.Length]; for (int i = 0; i < iArr.Length; i++) { iArr[i] = CommOp.ToInt(sArr[i]); } return(iArr); }
/// <summary> /// 转换成字符,如果是一个字符串,则取第一个字符 /// </summary> /// <param name="s"></param> /// <returns></returns> public static char ToChar(object s) { if (s == null || s == DBNull.Value || CommOp.ToStr(s) == "") { return(default(char)); } if (s is char) { return((char)s); } string cs = s.ToString(); return(cs.Length == 0 ? default(char) : cs[0]); }
/// <summary> /// 将DataRow转换为 实体类 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="dr"></param> /// <returns></returns> public static T ReaderToModel <T>(DataRow dr) { T model = Activator.CreateInstance <T>(); foreach (PropertyInfo pi in model.GetType().GetProperties(BindingFlags.GetProperty | BindingFlags.Public | BindingFlags.Instance)) { if (dr.Table.Columns.Contains(pi.Name)) { if (!CommOp.IsEmpty(dr[pi.Name])) { pi.SetValue(model, HackType(dr[pi.Name], pi.PropertyType), null); } } } return(model); }
/// <summary> /// 生成邮件信息对象 /// </summary> /// <returns>邮件信息对象</returns> protected System.Net.Mail.MailMessage MakeMessage() { //MailMessage message = new MailMessage(From, To, Subject, Body); System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(); message.From = new MailAddress(From); string[] emails = To.Replace(',', ';').Split(';'); foreach (string email in emails) { if (!string.IsNullOrEmpty(email) && CommOp.IsEmail(email)) { message.To.Add(email); } } CC = CC ?? ""; emails = CC.Replace(',', ';').Split(';'); foreach (string email in emails) { if (!string.IsNullOrEmpty(email) && CommOp.IsEmail(email)) { message.CC.Add(email); } } message.Subject = Subject; //message.SubjectEncoding = Encoding.UTF8; message.Body = Body; //message.BodyEncoding = Encoding.UTF8; //添加文件附件 if (!Files.IsEmpty()) { foreach (string file in Files) { Attachment att = new Attachment(file); //att.NameEncoding = Encoding.UTF8; //att.Name = new FileInfo(file).Name; message.Attachments.Add(att); } } message.IsBodyHtml = true; return(message); }
/// <summary> /// 获取所有驱动器信息表 /// </summary> public static IList <DiskInfo> GetDiskInfo() { List <DiskInfo> disks = new List <DiskInfo>(); ManagementClass managementClass = new ManagementClass("Win32_DiskDrive"); ManagementObjectCollection moc = managementClass.GetInstances(); foreach (ManagementObject mo in moc) { //Console.WriteLine(mo); DiskInfo disk = new DiskInfo() { Name = CommOp.ToStr(mo.Properties["Name"].Value), Model = CommOp.ToStr(mo.Properties["Model"].Value), PNPDeviceID = CommOp.ToStr(mo.Properties["PNPDeviceID"].Value), Size = CommOp.ToLong(mo.Properties["Size"].Value), }; disks.Add(disk); } return(disks); }
/// <summary> /// 获取所有本地逻辑磁盘的信息表 /// </summary> public static IList <DiskPartInfo> GetDiskPartInfo() { IList <DiskPartInfo> parts = new List <DiskPartInfo>(); ManagementClass managementClass = new ManagementClass("Win32_LogicalDisk"); ManagementObjectCollection disks = managementClass.GetInstances(); foreach (ManagementBaseObject disk in disks) { DiskPartInfo part = new DiskPartInfo() { DeviceID = CommOp.ToStr(disk.Properties["DeviceID"].Value), FileSystem = CommOp.ToStr(disk.Properties["FileSystem"].Value), FreeSpace = CommOp.ToLong(disk.Properties["FreeSpace"].Value), Size = CommOp.ToLong(disk.Properties["Size"].Value), SystemName = CommOp.ToStr(disk.Properties["SystemName"].Value), VolumeSerialNumber = CommOp.ToStr(disk.Properties["VolumeSerialNumber"].Value), }; parts.Add(part); } return(parts); }
/// <summary> /// 将reader[Key]转换为Int32 /// </summary> /// <param name="reader"></param> /// <param name="key"></param> /// <returns></returns> public static int ToInt(this IDataReader reader, string key) { return(CommOp.ToInt(reader[key])); }
/// <summary> /// 将reader[Key]转换为字符串 /// </summary> /// <param name="reader"></param> /// <param name="key"></param> /// <returns></returns> public static string ToStr(this IDataReader reader, string key) { return(CommOp.ToStr(reader[key])); }