obtener informacion del sistema [C#]

Iniciado por SRVAM, 21 Octubre 2009, 16:34 PM

0 Miembros y 1 Visitante están viendo este tema.

SRVAM

hola amigos, estoy algo atascado con un programa que estoy haciendo. estoy empezando con C# y necesito obtener información del equipo (modelo de CPU, cantidad de memoria, lista de procesos activos, memoria disponible...) pero no consigo encontrar que propiedades o metodos me proporcionan esa informacion :(

espero que podais ayudarme. gracias por adelantado.

saludos
C# Programmer

-Estudiante MCTS .NET Framework 3.5-

MANULOMM

todo eso lo obtienes con System.Diagnostics, lo de los procesos con Process hay un metodo que se llama GetProcess o algo asi, lo del modelo y eso no creo que este por ahi, te toca invokar la api del windows, y con respecto al rendimiento averigua sobre contadores de rendimiento del sistema, eso esta en System.Diagnostics, pero es un poco complejo si estas empezando...
Suerte.

Atentamente,


Juan Manuel Lombana
Medellín - Colombia


SRVAM

hombre noo es tan complejo si sabes que metodos y propiedades usar, he buscado pero no he encontrado mucho, pero con lo que me has dicho podre defenderme bien ;)

muchas gracias, un saludo
C# Programmer

-Estudiante MCTS .NET Framework 3.5-

MANULOMM

es que precisamente a eso vamos, para hacer lo del rendimiento (como muchas otras cosas en la programacion con .NET) tienes que conocer algo mas que métodos y propiedades (No son lo unico que tiene el lenguaje [Delgados, Eventos, Interfaces, etc.]).... pero de todas formas adelante, cuando tengas algo nos cuentas.

Atentamente,

Juan Manuel Lombana
Medellín - Colombia


seba123neo

Hola, tenes muchisimas formas de hacerlo, ahora .NET ya tiene todo en sus clases y casi no tenes que usar api's, pero podes obtener la mayor parte de la información con WMI...

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

Mr. Crowley

Exacto... esa es la respuesta  ;-)
Cita de: seba123neo en 22 Octubre 2009, 01:12 AM
Hola, tenes muchisimas formas de hacerlo, ahora .NET ya tiene todo en sus clases y casi no tenes que usar api's, pero podes obtener la mayor parte de la información con WMI...

saludos.
Mi blog personal: www.calirojas.com

MANULOMM

la llama a la WMI para obtener los datos del sistema son precisamente una API del Sistema Operativo, es una llamada de código no administrado, pues requiere la ejecucion de un COM.

con .net puedes obtener rendimiento y los procesos, los datos del equipo modelo y demas es una llamada a un componente del sistema operativo, ya sea alguna dll del GAC o una consulta al WMI.

Atentamente,


Juan Manuel Lombana
Medellín - Colombia


SRVAM

pero como haria la llamada al WMI?? no encuentro como hacerlo, y no me sobra mucho tiempo ahora mismo, tengo que hacer un proyecto de fin de curso, y en un par de semanas tengo que entregar el analisis y el diseño de la aplicacion.

encima este año nos han cambiado de lenguaje a C# y claro, hay que darle fuerte para aprender todo lo que se peuda lo mas rapido posible.

podrias pasarme algun ejemplo por favor??

muchas gracias. un saludo a los 2
C# Programmer

-Estudiante MCTS .NET Framework 3.5-

MANULOMM

Bueno, averiguando un poco vi que hay un namespace (System.Management) que permite hacer consultas a la WMI, aunque he trabajado poco con el tema (no sabria cual es el objeto a consultar para obtener los datos que necesitas) vi que son clases puras de .net lo cual es un alivio pues no te metes directamente con codigo no administrado (me imagino que las clases en su interior si lo haran, es lo mas seguro) esto simplifica mucho mas las cosas.

Te dejo el vinculo al MSDN, alli encuentras un ejemplo en c#.
http://msdn.microsoft.com/es-es/library/ms186146(VS.80).aspx


Atentamente,

Juan Manuel Lombana
Medellín - Colombia


SRVAM

muchisimas gracias MANULOMM, ahora si se hacerlo. muchas gracis por tu ayuda.

un saludo
C# Programmer

-Estudiante MCTS .NET Framework 3.5-