Professional Documents
Culture Documents
CATEDRA COMPILADORES E INTRPRETES DOCENTE: Lic Edwin Tema: Informacin de Aplicacin PC Auditor-UGB Integrantes : Mariela Nataly Urquilla Velsquez Daniel Duran Cinthya Tatiana Meja Carlos David Caldern Luis Manuel Calero Flores Erick Noe Aguiada Cruz
PC Auditor-UGB- INFORMACION DE LA APLICACIN Pantalla Principal Descripcin de la aplicacin: Esta aplicacin creada en C# permite visualizar de
manera ordenada informacin bsica del sistema en lo correspondiente a sus componentes, motherboard, procesador, informacin del monito / pantallas conectadas, tarjeta de video, codegs de audio, almacenamiento, redes y una lista del software instalado en el PC
Men principal
Menu
El men (Men) est constituido de las opciones chequeo rpido que abre la ventana Vista Rpida Adems del la opcin de Salir del la aplicacin Adems del la opcin de acerca de que muestra un mensaje de quienes realizaron la aplicacion
Ventana de vista rpida de informacin del sistema Descripcion : en esta ventana de la aplicacin se aprecian la informacin ms
importante del sistema de manera rpida
TIPO DE APLICACIN: WINDOWS FORM AREAS DE LA APLICACIN : PANTALLA PRINCIPAL Y VISTA RAPIDA VERSIONDE VISUAL STUDIO UTILIZADA: VISUAL STUDIO 2010 CONTROLES UTILIZADOS: ListBox, Link label, Label, MenuStrip,PictureBox,StatusTrip, Button CLASES UTILIZADAS EN LA APLICACIN (CODIGO)
using using using using using using using using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Linq; System.Text; System.Windows.Forms; System.Collections; InfoSistema; System.Management; System.Management.Instrumentation; System.IO; Microsoft.Win32;
API NECESARIAS PARA OBTENER INFORMACION DEL SISTEMA WIN 32 Utilizada en la mayor parte de la aplicacion
Ejemplo de uso del api win 32 (en este caso se obtiene informacin del disco duro
MODO DE USO DEL API WIN 32 PRIMERO SE DECLARA Y SE INSTANCIAN LOS MANEJADORES
// Declaracion de los objetos del api win32 para obtener la informacion // de la placa madre , configuracion de arranque, procesador, SO,escritorio, monitor,bateria y //codegs deaudio public static ArrayList MOBO_Info = new ArrayList(); ManagementObjectSearcher mos = new ManagementObjectSearcher( "root\\CIMV2", "SELECT * FROM Win32_BaseBoard"); ManagementObjectSearcher mos10 = new ManagementObjectSearcher( "root\\CIMV2", "SELECT * FROM Win32_BootConfiguration"); ManagementObjectSearcher mos2 = new ManagementObjectSearcher( "root\\CIMV2", "SELECT * FROM Win32_Processor"); ManagementObjectSearcher mos3 = new ManagementObjectSearcher( "root\\CIMV2", "SELECT * FROM Win32_OperatingSystem"); ManagementObjectSearcher mos4 = new ManagementObjectSearcher( "root\\CIMV2", "SELECT * FROM Win32_Desktop"); ManagementObjectSearcher mos5 = new ManagementObjectSearcher( "root\\CIMV2", "SELECT * FROM Win32_DesktopMonitor"); ManagementObjectSearcher mos7 = new ManagementObjectSearcher( "root\\CIMV2", "SELECT * FROM Win32_BIOS"); ManagementObjectSearcher mos6 = new ManagementObjectSearcher( "root\\CIMV2", "SELECT * FROM Win32_Battery"); ManagementObjectSearcher mos20 = new ManagementObjectSearcher( "root\\CIMV2", "SELECT * FROM Win32_CodecFile");
} catch { } }
MOSTRANDO INFORMACION EN EL LISTBOX (INTERFAZ) Al seleccionar cualquiera de los tems de la izquierda automticamente se presentara la informacin en el listbox de la derecha y cambiaran los ttulos del formulario y de la barra de estado (Mecnica que se repite en todos los tems)
Vista en ejecucion VERSIONDE VISUAL STUDIO UTILIZADA: VISUAL STUDIO 2010 CONTROLES UTILIZADOS: Link label, Label, Windows form CLASES UTILIZADAS EN LA APLICACIN (CODIGO)
using using using using using using using using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Linq; System.Text; System.Windows.Forms; System.Collections; InfoSistema; System.Management; System.Management.Instrumentation; System.IO; Microsoft.Win32;
Vista en diseo
API NECESARIAS PARA OBTENER INFORMACION DEL SISTEMA WIN 32 Utilizada en la mayor parte de la aplicacin
namespace HWcontrol { public partial class Mostrar : Form { public Mostrar() { InitializeComponent(); } irInforSistema info = new irInforSistema();// se crea una instancia de la clase info sistema necesaria para obtener informacion private static Mostrar m_FormDefInstance; public static Mostrar DefInstance { get { if (m_FormDefInstance == null || m_FormDefInstance.IsDisposed) m_FormDefInstance = new Mostrar(); return m_FormDefInstance; } set { m_FormDefInstance = value; } } // declaracion e instansacion de la clase win32 ManagementObjectSearcher mos = new ManagementObjectSearcher( "root\\CIMV2", "SELECT * FROM Win32_BaseBoard"); ManagementObjectSearcher mos2 = new ManagementObjectSearcher( "root\\CIMV2", "SELECT * FROM Win32_Battery"); // codigo en el evento load del formulario mostrar // que nos permite mostrar la infomacion en los labels del formulario private void Mostrar_Load(object sender, EventArgs e) { //mostrando informacion en los labels label2.Text = "Nombre de pc :" + info.NombreComputador; label4.Text = "Fabricante de pc :" + info.FabricanteComputador; label5.Text = "NetBios : " + Environment.UserDomainName; label6.Text = "SO : " + info.NombreSistemaOperativo; label7.Text = "Version : " + info.VersionSistemaOperativo; label8.Text = "Idioma : " + System.Globalization.CultureInfo.CurrentCulture; foreach (ManagementObject mo in mos.Get()) { try
{ label9.Text = "Nombre del dispositivo: " + mo.GetPropertyValue("Name").ToString(); label10.Text = "Nombre del clase de creacion: " + mo.GetPropertyValue("CreationClassName").ToString(); label11.Text = "Descripcion: " + mo.GetPropertyValue("Description").ToString(); label12.Text = "Fabricante: " + mo.GetPropertyValue("Manufacturer").ToString(); //listBox1.Items.Add("Fecha de Instalacion: " + mo.GetPropertyValue("InstallDate").ToString()); label13.Text = "Numero de Serie: " + mo.GetPropertyValue("SerialNumber").ToString(); label14.Text = "Version: " + mo.GetPropertyValue("Version").ToString(); label15.Text = "Status: " + mo.GetPropertyValue("Status").ToString(); //listBox1.Items.Add("Ancho dispositivo: " + mo.GetPropertyValue("Width").ToString()); //listBox1.Items.Add("Alto de dispositivo :" + mo.GetPropertyValue("Weight").ToString()); label16.Text = "Nombre : " + info.NombreProcesador; label20.Text = "Cantidad : " + info.CantidadProcesadores; label18.Text = "Fabricante : " + info.FabricanteProcesador; label19.Text = "Velocidad : " + info.VelocidadProcesador; label21.Text = "Maxima Velocidad : " + info.MaxVelocidadProcesador; label22.Text = "Modelo : " + info.ModeloDiscoDuro; label24.Text info.UnidadDelDiscoInstaladoSO; label25.Text label26.Text label27.Text label23.Text } catch { } = "Unidad intalado el SO : " + = = = = "Total de Memoria : " + info.TotalDiscoDuro; " C : " + info.MemoriaLibreenC; " D : " + info.MemoriaLibreenD; " Tipo : " + info.FabricanteDiscoDuro;
} foreach (ManagementObject mo in mos2.Get()) { try { label33.Text = "Nombre: " + mo.GetPropertyValue("Name").ToString(); label36.Text = "Descripcion: "+mo.GetPropertyValue("Description").ToString(); label39.Text = "Status : " + mo.GetPropertyValue("Status").ToString(); label40.Text = "Tiempo de bateria: " + Convert.ToInt32(mo.GetPropertyValue("TimeOnBattery")); label34.Text = "Voltaje: " + Convert.ToInt32(mo.GetPropertyValue("DesignVoltage")); label35.Text = "Vida: " + Convert.ToInt32(mo.GetPropertyValue("DesignCapacity")); } catch { } }
try { DriveInfo drive = new DriveInfo("E"); DriveInfo drive2 = new DriveInfo("G"); DriveInfo drive3 = new DriveInfo("C"); label28.Text label29.Text label30.Text label31.Text label32.Text label37.Text label38.Text label41.Text label42.Text label43.Text label44.Text = "Nombre :" + drive2.Name; ="Tipo :" + drive2.DriveType; ="Etiqueta :" + drive2.VolumeLabel; ="Capacidad :" + drive2.TotalSize; ="Espacio :" + drive2.TotalFreeSpace; = "Directorio :" + drive2.RootDirectory; = "Formato :" + drive2.DriveFormat; = "Etiqueta Unidad Dvd-RW :" + drive.Name; = "Tipo de unidad :" + drive.DriveType; = "Estado :" + drive.IsReady; = "Raiz :" + drive.RootDirectory;
} catch { label38.Text = "No se encontraron otros dispositivos "; } } // codigo del linklabel salir private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { if (DialogResult.Yes == MessageBox.Show("Realmente desea salir de la aplicacion", "PCAuditorUGB v1.0", MessageBoxButtons.YesNo)) { this.Close(); } }
} }
MENSAJES QUE MUESTRA LA APLICACIN En las opciones del la aplicacin donde se muestran mensajes son en las de acerca de y la opcin salir
Cdigo de Acerca de
private void acercaToolStripMenuItem_Click(object sender, EventArgs e) { MessageBox.Show("Proyecto Realizado para compiladores e interpretes ugb 2012", "PCAuditorUGB v1.0- Acerca de...", MessageBoxButtons.OK, MessageBoxIcon.Information); }
Opcion Salir
Cdigo
if (DialogResult.Yes == MessageBox.Show("Realmente desea salir de la aplicacion", "PCAuditorUGB v1.0", MessageBoxButtons.YesNo)) { this.Close(); }