我可以从这篇文章中查看远程连接的PC :使用c-net的远程桌面.但我不需要它.我只需连接该PC并获取C盘的可用空间数据.我怎么能这样做?我可以连接到远程桌面.我可以使用IO命名空间获取driveInfo.但如何将它们结合起来?
BAC*_*CON 19
为此使用System.Management命名空间和Win32_VolumeWMI类.您可以使用查询实例DriveLetter的C:并检索其FreeSpace属性,如下所示:
ManagementPath path = new ManagementPath() {
NamespacePath = @"root\cimv2",
Server = "<REMOTE HOST OR IP>"
};
ManagementScope scope = new ManagementScope(path);
string condition = "DriveLetter = 'C:'";
string[] selectedProperties = new string[] { "FreeSpace" };
SelectQuery query = new SelectQuery("Win32_Volume", condition, selectedProperties);
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query))
using (ManagementObjectCollection results = searcher.Get())
{
ManagementObject volume = results.Cast<ManagementObject>().SingleOrDefault();
if (volume != null)
{
ulong freeSpace = (ulong) volume.GetPropertyValue("FreeSpace");
// Use freeSpace here...
}
}
Run Code Online (Sandbox Code Playgroud)
还有一个Capacity属性存储卷的总大小.