参考这个例子,前面的第一个答案是关于本地的.http://expert.csdn.net/Expert/TopicView3.asp?id=1149014
怎样获得远程计算机的系统资源信息,如内存使用情况、剩余磁盘空间大小等

解决方案 »

  1.   

    //retrieves information about the amount of space available on a disk volume
    [DllImport ("Kernel32.dll")]
    public static extern bool GetDiskFreeSpaceEx(
    string lpDirectoryName,                 // directory name
    ref int lpFreeBytesAvailable,    // bytes available to caller
    ref int lpTotalNumberOfBytes,    // bytes on disk
    ref int  lpTotalNumberOfFreeBytes // free bytes on disk
    );int lpFreeBytesAvailable=0;
    int lpTotalNumberOfBytes=0;
    int  lpTotalNumberOfFreeBytes=0;GetDiskFreeSpaceEx("E:\\WinForm",ref lpFreeBytesAvailable,ref lpTotalNumberOfBytes,ref lpTotalNumberOfFreeBytes);
    MessageBox.Show("FreeBytesAvailable:"+lpFreeBytesAvailable.ToString()
      +"\r\n TotalNumberOfFreeBytes"+lpTotalNumberOfFreeBytes.ToString()
      +"\r\n TotalNumberOfBytes"+lpTotalNumberOfBytes.ToString());
    }或用WMI
      

  2.   

    http://www.csdn.net/develop/Read_Article.asp?Id=15346
      

  3.   

    ManagementObject disk = new ManagementObject(
    "win32_logicaldisk.deviceid=\"c:\"");
    PropertyDataCollection diskProperties = disk.Properties;
    disk.Get();
    MessageBox.Show(disk["FreeSpace"].ToString());
      

  4.   

    别忘了工程要引用System.Management,而且namespace加入using System.Management;
    要想获得其它属性如下
    PropertyDataCollection diskProperties = disk.Properties;
    foreach (PropertyData diskProperty in diskProperties) 
    {
    MessageBox.Show("Property = " + diskProperty.Name);
    }