Pegando dados do computador facilmente via software por Mauricio Junior em 1/1/2011 0 Tweet 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. voltar comente subir Mauricio Junior Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; . Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org Comentários: Comente (dê sua opinião): Comentário: Código Imagem: (digite o código da imagem respeitando maiúsculo e minúsculo) Favor digitar o código da imagem para cadastramento. Outros Artigos do Autor Entrevista com Bruno PorKaria Vídeo: Windows Phone com Windows Mobile 7 Construindo o Windows 8 Padrões de nomenclaturas Desenvolvendo com Atributos (Javascript) e StringBuilder Ebook Grátis Microsoft ListBox componente básico Web Administration Tool Tata Motors (Grupo TCS) Vídeo: Análise do Android 3.0 por um especialista Microsoft com XBox no Windows Phone 7 Heroes {Community} Launch - Brasilia/DF Dica ReportViewer Atalho novo, formatar e concatenar usando Visual Studio .NET 2010 Comando para compilação .NET Aplicativo para Windows Phone 7 começa Coalescing Operador C# ?? null Vídeo HTC Chama método que está dentro do COM PLUS (COM +) Trabalhando com GridView, RowCommand e DataKeysNames Método SHA1 Gerando instalador de serviço Usando Dll Nativa e Using Sistema de Login em ASP – Parte VI Documento padrão de desenvolvimento Visual Studio Toolbox Performance Saiba ganhar dinheiro navegando na internet SELECT INSERT Ebook: Aprendendo Desenvolver WebServices Como fazer uma enquete - parte 2 ASP.NET 4.0 and Visual Studio 2010 Web Development Beta 2 Overview A instalação do Visual Studio 2011 Vídeo - Tecla de Atalho Problemas na acentuação URL do WebService Dinâmica