private PC_Specification ConsultarMainBoard() { string[] mainBoard = new string[12]; string ler = string.Empty; using (StreamReader sr = new StreamReader(path)) { while ((ler = sr.ReadLine()) != null) { if (ler.Contains("DMI System Information")) { while ((ler = sr.ReadLine()) != null) { if (ler.Contains("manufacturer")) { mainBoard[0] = ler; } if (ler.Contains("product")) { mainBoard[1] = ler; } if (ler.Contains("serial")) { mainBoard[2] = ler; goto Ini1; } } } } } Ini1: using (StreamReader sr = new StreamReader(path)) { while ((ler = sr.ReadLine()) != null) { if (ler.Contains("DMI Baseboard")) { while ((ler = sr.ReadLine()) != null) { if (ler.Contains("vendor")) { mainBoard[3] = ler; } if (ler.Contains("model")) { mainBoard[4] = ler; } if (ler.Contains("serial")) { mainBoard[5] = ler; goto Ini2; } } } } } Ini2: using (StreamReader sr = new StreamReader(path)) { while ((ler = sr.ReadLine()) != null) { if (ler.Contains("DMI System Enclosure")) { while ((ler = sr.ReadLine()) != null) { if (ler.Contains("chassis type")) { mainBoard[6] = ler; goto Ini3; } } } } } Ini3: using (StreamReader sr = new StreamReader(path)) { while ((ler = sr.ReadLine()) != null) { if (ler.Contains("DMI BIOS")) { while ((ler = sr.ReadLine()) != null) { if (ler.Contains("date")) { string[] pro = ler.Replace("\t", "!").Split(';'); mainBoard[9] = FormatTxt(pro)[0]; goto Ini4; } } } } } Ini4: ConsultarSpecMem(mainBoard); mainBoard = TratarArray(mainBoard); string[] data = mainBoard[9].Split('/'); mainBoard[9] = data[1] + "/" + data[0] + "/" + data[2]; PC_Specification Specification = new PC_Specification { Fabricante = mainBoard[0], Fornecedor = mainBoard[3], Modelo = mainBoard[4], Produto = mainBoard[1], SerialMaquina = mainBoard[2], SerialPlaca = mainBoard[5], TipoMaquina = mainBoard[6].Replace("Portable", "Notebook").Replace("LapTop", "Notebook"), MemoryMax = mainBoard[8], SlotQuant = mainBoard[7], Data = mainBoard[9], MemoryFormat = mainBoard[10], MemoryModulo = mainBoard[11] }; return(Specification); }
private void PreencherForm(PC_MonitorColecao mon, PC_Processor_Windows proc, PC_RamColecao ram, PC_StorageColecao sto, PC_Specification spec, PC_VideoColecao video) { textBoxProcModelo.Text = proc.Processor; textBoxProcSocket.Text = proc.Socket; textBoxCache.Text = proc.Cache; textBoxPcCategoria.Text = spec.TipoMaquina; if (spec.TipoMaquina == "Notebook") { this.pictureBoxPrincipal.BackgroundImage = Properties.Resources.notebook; } else { this.pictureBoxPrincipal.BackgroundImage = Properties.Resources.computer; } textBoxPcFab.Text = spec.Fabricante; textBoxPcModelo.Text = spec.Produto; textBoxPcNome.Text = Path.GetFileNameWithoutExtension(path); textBoxPcSerial.Text = spec.SerialMaquina; textBoxPcVersao.Text = proc.Windows; textBoxPlacaFab.Text = spec.Fornecedor; textBoxPlacaModelo.Text = spec.Modelo; textBoxPlacaSerial.Text = spec.SerialPlaca; textBoxPlacaData.Text = spec.Data; textBoxPlacaMax.Text = spec.MemoryMax; textBoxPlacaSlot.Text = spec.SlotQuant == "N/A" ? "N/A" : string.Format("{0:00}", Convert.ToInt32(spec.SlotQuant)); textBoxPlacaTotalMem.Text = spec.MemoryFormat; textBoxPlacaMod.Text = spec.MemoryModulo; //for (int i = 0; i < dataGridViewVideo.Columns.Count; i++) // dataGridViewVideo.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells; dataGridViewVideo.AutoGenerateColumns = false; dataGridViewVideo.DataSource = video; dataGridViewVideo.ClearSelection(); dataGridViewStorage.AutoGenerateColumns = false; dataGridViewStorage.DataSource = sto; dataGridViewStorage.ClearSelection(); dataGridViewMonitor.AutoGenerateColumns = false; dataGridViewMonitor.DataSource = mon; dataGridViewMonitor.ClearSelection(); dataGridViewMemory.AutoGenerateColumns = false; dataGridViewMemory.DataSource = ram; dataGridViewMemory.ClearSelection(); }