获取设备序列号和mac,以及本地文件读写
/ 设备唯一id获取
public static class DeviceUniqueId
{
public static string GetHardDiskSerialNumber()
{
try
{
ManagementClass managementClass = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection managementObjects = managementClass.GetInstances();
foreach (ManagementObject managementObject in managementObjects)
{
if (managementObject.Properties["SerialNumber"].Value != null)
{
return managementObject.Properties["SerialNumber"].Value.ToString();
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
return string.Empty;
}
public static string GetMacAddress()
{
try
{
ManagementClass managementClass = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection managementObjects = managementClass.GetInstances();
foreach (ManagementObject managementObject in managementObjects)
{
if ((bool)managementObject["IPEnabled"])
{
return managementObject["MacAddress"].ToString();
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
return string.Empty;
}
}
// 读写操作
class FileHelper
{
public static bool WriteToFile(string fileName, object content)
{
string filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, fileName);
string serializedContent = content.GetType().IsValueType || content.GetType() == typeof(string)
? content.ToString()
: JsonConvert.SerializeObject(content);
try
{
File.WriteAllText(filePath, serializedContent, Encoding.UTF8);
Console.WriteLine("写入文件成功:" + filePath);
return true;
}
catch (Exception ex)
{
Console.WriteLine("写入文件失败:" + ex.Message);
return false;
}
}
public static bool WriteToFileJson(string fileName, object content)
{
string filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, fileName);
string serializedContent = JsonConvert.SerializeObject(content);
try
{
File.WriteAllText(filePath, serializedContent, Encoding.UTF8);
Console.WriteLine("写入文件成功:" + filePath);
return true;
}
catch (Exception ex)
{
Console.WriteLine("写入文件失败:" + ex.Message);
return false;
}
}
public static string ReadFile(string fileName)
{
string filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, fileName);
try
{
string content = File.ReadAllText(filePath, Encoding.UTF8);
Console.WriteLine("读取文件成功:" + filePath);
return content;
}
catch (Exception ex)
{
Console.WriteLine("读取文件失败:" + ex.Message);
return null;
}
}
public static bool DeleteFile(string fileName)
{
string filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, fileName);
try
{
File.Delete(filePath);
Console.WriteLine("删除文件成功:" + filePath);
return true;
}
catch (Exception ex)
{
Console.WriteLine("删除文件失败:" + ex.Message);
return false;
}
}
}