¿Cómo leer el uso de la CPU y el tamaño del disco duro en la programación de Lab View?
El código es el siguiente (ver comentarios para más detalles):
¿ver copia simple en la impresión del portapapeles?
usando el Sistema;
usando el Sistema .Administración;
espacio de nombres Soyee.Comm
{
/// resumen
/// Información de la computadora
// / /summary
Equipo de clase pública
{
CpuID de cadena pública;
Dirección Mac de cadena pública;
cadena pública DiskID;
cadena pública IpAddress;
cadena pública LoginUserName;
cadena pública ComputerName;
cadena pública SystemType;
p>cadena pública TotalPhysicalMemory; //Unidad: M
instancia de computadora estática privada;
instancia de computadora estática pública ()
{
if (_instance == null)
_instance = new Computer();
devuelve _instance;
}
Equipo protegido()
{
CpuID=GetCpuID();
MacAddress=GetMacAddress();
DiskID=GetDiskID() ;
IpAddress=GetIPAddress();
LoginUserName=GetUserName();
SystemType=GetSystemType();
TotalPhysicalMemory=GetTotalPhysicalMemory ();
ComputerName=GetComputerName();
}
cadena GetCpuID()
{
intentar
{
//Obtener el código del número de serie de la CPU
cadena cpuInfo = ;//número de serie de la CPU
ManagementClass mc = nueva ManagementClass(Win32_Processor);
ManagementObjectCollection moc = mc.GetInstances();
foreach(ManagementObject mo en moc)
{
cpuInfo = mo.Properties[ProcessorId].Value.ToString();
}
moc=null;
mc= null;
devuelve cpuInfo;
}
catch
{
devuelve desconocido;
<p>}
finalmente
{
}
}
cadena GetMacAddress()
{
inténtalo
{
//Obtén la dirección de hardware de la tarjeta de red
string mac=;
ManagementClass mc = new ManagementClass(Win32_NetworkAdapterConfiguration);
ManagementObjectCollection moc = mc.GetInstances();
foreach(ManagementObject moc en moc)
{ p>
if ((bool)mo[IPEnabled] == true)
{
mac=mo[MacAddress].ToString();
romper;
}
}
moc=null;
mc=null;
devolver mac ;
}
captura
{
regresar desconocido;
}
finalmente
{
}
}
cadena GetIPAddress()
{
probar
{
//Obtener dirección IP
string st=;
ManagementClass mc = new ManagementClass(Win32_NetworkAdapterConfiguration) ;
ManagementObjectCollection moc = mc.GetInstances();
foreach(ManagementObject mo en moc)
{
if ((bool ) mes [IPEnabled] == verdadero)
{
//st=mo[IpAddress].ToString();
System.Array ar;
ar=(System.Array)(mo.Properties[IpAddress].Value);
st=ar.GetValue(0).
ToString();
romper;
}
}
moc=null;
mc=null ;
regresar st;
}
captura
{
regresar desconocido;
}
finalmente
{
}
}
cadena GetDiskID()
{
inténtalo
{
//Obtén el ID del disco duro
String HDid=;
ManagementClass mc = nueva ManagementClass(Win32_DiskDrive);
ManagementObjectCollection moc = mc.GetInstances();
foreach(ManagementObject mo en moc)
{
HDid = (cadena)mo.Properties[Modelo].Valor;
}
moc=null;
mc=null;
p>devuelve HDid;
}
captura
{
devuelve desconocido;
}
finalmente
{
}
}
/// resumen
/// Nombre de usuario de inicio de sesión del sistema operativo
/// /summary
/// return/returns
string GetUserName()
{
prueba
{
string st=;
ManagementClass mc = nueva ManagementClass(Win32_ComputerSystem) ;
ManagementObjectCollection moc = mc.GetInstances();
foreach(ManagementObject mo en moc)
{
st=mo[ Nombre de usuario].ToString( );
}
moc=null;
mc=null;
return st;
}
captura
{
regreso desconocido;
}
finalmente
{
}
}
/// resumen
/// tipo de PC
/// / resumen
/// devoluciones/devoluciones
cadena GetSystemType()
{
probar
{
string st=;
ManagementClass mc = nueva ManagementClass(Win32_ComputerSystem);
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo en moc)
{
st
=mo[SystemType].ToString();
}
moc=null;
mc=null;
return st;
}
captura
{
retorno desconocido;
}
finalmente
{
}
}
/// resumen
/// Memoria física
/// /summary
/// devoluciones/devoluciones
cadena GetTotalPhysicalMemory()
{
intentar
{
string st=;
ManagementClass mc = nueva ManagementClass(Win32_ComputerSystem);
ManagementObjectCollection moc = mc.GetInstances();
foreach(ManagementObject mes en moc)