Non rilevo spazio libero su hd con ManagementClass win32_logicaldisk f...

mercoledì 08 luglio 2009 - 14.56

atjbat Profilo | Newbie

Ho fatto un semplicissimo programma dove voglio visualizzare lo spazio libero su un hd .
Il codice molto semplice è questo :
Dim SQ As SelectQuery = New SelectQuery("SELECT * FROM Win32_LogicalDisk")
Dim Searcher As ManagementObjectSearcher = New ManagementObjectSearcher(SQ)
For Each Si As ManagementBaseObject In Searcher.Get

MessageBox.Show("3 - Caption : " + Si.GetPropertyValue("Caption").ToString)
MessageBox.Show("9 - DeviceID : " + Si.GetPropertyValue("DeviceID").ToString, "", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly, False)

Try
If (Si.GetPropertyValue("DeviceID").ToString).ToUpper <> "A:" Then
MessageBox.Show("15 - Freespace : " + Si.GetPropertyValue("Freespace").ToString)
blnMio = Long.TryParse((Si.GetPropertyValue("Freespace").ToString), lngFreeSpace)
End If
strTemp = Si.GetPropertyValue("Caption").ToString
strTemp = Si.GetPropertyValue("DeviceID").ToString
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Next

Il problema è che nel mio pc che è xp pro funzione mentre nel pc con sistema operativo XP embedded
quando arriva sulla
blnMio = Long.TryParse((Si.GetPropertyValue("Freespace").ToString), lngFreeSpace)
mi da errore "object reference not set an instance of an object",mentre deviceid caption e altre cose funzionano regolarmente.
Manca qualcosa nel sistema op. embedded.
Siccome sono un novizio di dotnet chiedevo se qualcuno sapeva dirmi come ricercare le dipendenze di questa property "freespace" o delle classi del framework in genere

Jeremy Profilo | Guru

Ciao.
Prova a dare un ochhio qui:
http://msdn.microsoft.com/it-it/library/system.io.driveinfo.aspx

Facci sapere...
Ciao

atjbat Profilo | Newbie

Con la DriveInfo funziona.
Ti ringrazio molto.

Peccato che le wmi non funzionano bene perchè erano molto complete.
Ciao

Jeremy Profilo | Guru

Accetta la risposta così chiudiamo il thread
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