Ottenere le Informazioni sul Sistema

venerdì 10 novembre 2006 - 23.17

max1850 Profilo | Junior Member

Salve.
Programmo in VB NET 2005.
Come faccio ad ottenere delle informazioni sul sistema, come ad es. il sistema operativo, il mio ip, la quantità di memoria disponibile/usata, gli utenti creati e quello attivo, ecc..?
Posso usare i namespace del .Net Framework? Se si quali?

Grazie
Max!

19018 Profilo | Expert

Potresti usare WMI -> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/wmi_reference.asp.

Con WMI puoi ottere tutte le informazioni che vuoi.

ciao

Stefano Passatordi

http://blogs.dotnethell.it/stem/

max1850 Profilo | Junior Member

Ciao.
Ho provato ad andare a quel link ma non riesco a trovare un esempio per vedere come si usa.
Programmando per Consolle penso che mi serve il Win32 Provider ma non si trova niente in internet.
Hai qualche esempio da potermi postare o qualche link dove trovarlo?

Grazie
Max!

19018 Profilo | Expert

E' pieno di esempi :

http://www.codeproject.com/cs/system/wmi.asp

http://www.codeproject.com/cs/system/wmimadeeasy.asp

http://www.codeproject.com/cs/internet/remotesysinformation.asp

http://www.codeproject.com/cs/system/win32processusingwmi.asp

http://www.codeproject.com/csharp/perfgrid.asp

ciao

Stefano Passatordi

http://blogs.dotnethell.it/stem/

max1850 Profilo | Junior Member

Ciao!
Ho visto i link ma sono tutti per c#. Io programmo in VB NET. Ho provato ad adattarli ma mi risulta difficile.
C'è anche da tenere presente che il mio programma deve poi girare su macchine che non hanno il .NET Framework...quindi il WMI lo posso usare?

Ciao!
Max!

Brainkiller Profilo | Guru

>C'è anche da tenere presente che il mio programma deve poi girare
>su macchine che non hanno il .NET Framework...quindi il WMI lo
>posso usare?

Il WMI c'è indipendentemente da .NET.

Per un esempio in VB.NET di WMI puoi guardare qui:
http://www.dotnethell.it/articles/WMI.aspx

Sulla destra tra gli allegati c'è l'esempio sia in VB che in C#.

Se vuoi fare inventari dei PC sulla rete, o cose simili, VB.NET e c# non sono certamente i linguaggi da usare. In genere questo tipo di cose si fa tutto tramite script (VBS, WSH).

Poi se vuoi far girare applicazioni .NET su una macchina senza Framework è un po' dura. Una soluzione è questo tool:
http://www.xenocode.com/Products/Postbuild

Altre soluzioni sono o di scrivere il software in VC++ o come ti ho detto sopra scriverlo con linguaggi di script.

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

max1850 Profilo | Junior Member

Ciao!
Allora...ho scaricato l'esempio in VB NET di WMI ed ho provato a farlo girare su una macchina dove non c'era il .NET Framework e non gira. Mi esce questo errore: Applicazione non correttamente inizializzata (0xc0000135).
Invece, la stessa ira perfettamente sul mio computer che ha il Framework.
Non mi spiego il perchè...
Invece il Visul C++ (sempre del Visual Studio .NET 2005) non utilizza il Framerowk? E al suo posto quali librerie usa?

Ciao!
Max!

Brainkiller Profilo | Guru

>Allora...ho scaricato l'esempio in VB NET di WMI ed ho provato
>a farlo girare su una macchina dove non c'era il .NET Framework
>e non gira. Mi esce questo errore: Applicazione non correttamente
>inizializzata (0xc0000135).

No infatti non gira, devi acquistare questo tool che ti ho indicato nel post precedente:
http://www.xenocode.com/Products/Postbuild
che ti consente di fare girare un eseguibile .NET su macchine dove non c'è il Framework. Diversamente non è possibile.

>Invece il Visul C++ (sempre del Visual Studio .NET 2005) non
>utilizza il Framerowk? E al suo posto quali librerie usa?

Esatto Visual C++ è un ambiente unmanaged a differenza di .NET non usa quindi il Framework nativamente (anche se è possibile richiamarlo), e usa le librerie di Windows che quindi sono già incluse nel sistema, per quetso spesso non è necessario installare alcunchè.

Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

max1850 Profilo | Junior Member

>Esatto Visual C++ è un ambiente unmanaged a differenza di .NET
>non usa quindi il Framework nativamente (anche se è possibile
>richiamarlo), e usa le librerie di Windows che quindi sono già
>incluse nel sistema, per quetso spesso non è necessario installare
>alcunchè.

E quindi quali librerie usa? Le normali API del Windows (le Win32)?
Meglio usare il Visual C++ o il C++ con abiente Dev-C++ per queste cose (e quindi per richiamare le API)?
Ancora ho le idee un po' confuse tra il normale C++ programmabile con l'ambiente IDE Dev-C++ e il Visual C++ della Microsoft... CHe differenza c'è tra i 2 C++?

Scusate se faccio tante domande tutte in una volta ma così almeno decio il linguaggio da usare una volta per tutte!

Ciao!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5