Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click System.Management.ManagementObject mo = New System.Management.ManagementObject("Win32_LogicalDisk=""C:""") Dim fs As UInt64 = CType(mo.Properties("FreeSpace").Value, UInt64) Console.WriteLine("C:の空き容量は{0}バイトです。", fs) mo.Dispose() mo = Nothing End Sub
分類:[.NET]
現在、VB.NETでディスクの空き容量を取得するのに
System.Management.ManagementObject を、使用しています。(下記ソース)
ところが、このプログラムを動かして「タスクマネージャ」で監視してみると
ボタンをクリックする度に「メモリ使用量」が増加していきます。
dispose や Nothingの代入はしているのですが、これだけではダメなのでしょうか?どうやればメモリを開放することができますでしょうか?
宜しくお願いします。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
System.Management.ManagementObject mo =
New System.Management.ManagementObject("Win32_LogicalDisk=""C:""")
Dim fs As UInt64 = CType(mo.Properties("FreeSpace").Value, UInt64)
Console.WriteLine("C:の空き容量は{0}バイトです。", fs)
mo.Dispose()
mo = Nothing
End Sub