Pegando dados do computador facilmente via software
Veja alguns métodos que podem te ajudar no momento da identificação de máquina
Olá pessoal, hoje gostaria de mostrar como pegar alguns dados do computador e placa de rede (mac adress) via software usando a linguagem C#.NET. Fiz métodos simples para serem usados nos aplicativos apenas chamando e passando os parâmetros se necessário.
Requisito:
Linguagem C#.NET
Ferramenta Visual Studio .NET
Versão testado: .NET 2.0 e .NET 3.5.
Não tenho muito o que explicar sobre os métodos, o importante é o perfeito funcionamento dos mesmos.
/// <summary>
/// return Volume Serial Number from hard drive
/// </summary>
/// <param name="strDriveLetter">[optional] Drive letter</param>
/// <returns>[string] VolumeSerialNumber</returns>
public static string GetVolumeSerial(string strDriveLetter)
{
try
{
if (strDriveLetter == "" || strDriveLetter == null) strDriveLetter = "C";
ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"" + strDriveLetter + ":\"");
disk.Get();
return disk["VolumeSerialNumber"].ToString();
}
catch
{
return "0";
}
}
........................................................................................
Code 1.1
O nome do método é GetVolumeSerial, ou seja, ele pega o valor do seu HD, pode ser o "C" ou o "D". É importante passar um valor como parâmetro para pegar um volume especÃfico.
/// <summary>
/// Returns MAC Address from first Network Card in Computer
/// </summary>
/// <returns>[string] MAC Address</returns>
public static string GetMACAddress()
{
try
{
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
string MACAddress = String.Empty;
foreach (ManagementObject mo in moc)
{
if (MACAddress == String.Empty) // only return MAC Address from first card
{
if ((bool)mo["IPEnabled"] == true) MACAddress = mo["MacAddress"].ToString();
}
mo.Dispose();
}
MACAddress = MACAddress.Replace(":", " ");
return MACAddress;
}
catch
{
return "0";
}
}
............................................................................
Code 1.2
O segundo método pega o endereço mac da placa de rede. É um número bem grande e funciona melhor do que pegar o ip da máquina que pode mudar a todo tempo.
/// <summary>
/// Return processorId from first CPU in machine
/// </summary>
/// <returns>[string] ProcessorId</returns>
public static string GetCPUId()
{
try
{
string cpuInfo = String.Empty;
string temp = String.Empty;
ManagementClass mc = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if (cpuInfo == String.Empty)
{// only return cpuInfo from first CPU
cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
}
}
return cpuInfo;
}
catch
{
return "0";
}
}
............................................................................
Code 1.3
O código 1.3 é um método que pega o id da CPU do computador. Funciona muito bem por sinal. O quarto e último método que deixo registrado é o responsável em pegar o nome da máquina. Code 1.4
/// <summary>
/// Retorna o nome do computador
/// </summary>
/// <returns></returns>
public static string GetNomeComputador()
{
try
{
return Environment.MachineName.ToString();
}
catch (Exception ex)
{
throw ex;
}
}
............................................................................
Code 1.4
Bom, por enquanto eu fico por aqui e qualquer dúvida pode entrar em contato.
Subscribe ecode10.com
Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.
You can cancel anytime.
Log In