• 获取与一个磁盘的组织以及剩余空间容量有关的信息以及代码测试


     
     1 // GetFreeDisk.cpp : 定义控制台应用程序的入口点。
     2 //
     3 
     4 #include "stdafx.h"
     5 #include <atlstr.h>
     6 #include <iostream>
     7 
     8 
     9 using namespace std;
    10 bool CheckDiskSpeech()
    11 {
    12      ULARGE_INTEGER   ulTotalSize;       
    13      ULARGE_INTEGER   ulFreeSize;       
    14      ULARGE_INTEGER   ulAvailLableSize;  
    15  
    16      CString csStr,strAvailableToCaller, strTotalSize, strFreeSize;
    17      //csStr = g_strMediaPhoto.Left(3);
    18      csStr = _T("D:\");
    19      ::GetDiskFreeSpaceEx(csStr,&ulAvailLableSize,&ulTotalSize,&ulFreeSize);
    20      strAvailableToCaller.Format(_T("%ldM"),ulFreeSize.QuadPart/1024/1024); //调用者可用的字节数量
    21     strTotalSize.Format(_T("%ldM"),ulTotalSize.QuadPart/1024/1024); //用于容纳磁盘上的总字节数
    22     strFreeSize.Format(_T("%ldM"),ulAvailLableSize.QuadPart/1024/1024);  //用于容纳磁盘上可用的字节数
    23 
    24     wcout << strAvailableToCaller << endl; 
    25     wcout << strTotalSize << endl;
    26     wcout << strFreeSize << endl;
    27  
    28      if (ulTotalSize.QuadPart / 1024 /1024 < 3000)//少于3000M
    29      {
    30          ::MessageBox(NULL, _T("磁盘空间不足"), _T("提示"), NULL);
    31          return false;
    32      } 
    33      return true;
    34 }
    35 
    36 int _tmain(int argc, _TCHAR* argv[])
    37 {
    38     CheckDiskSpeech();
    39     system("pause");
    40     return 0;
    41 }
    View Code
     
    以下来自百度
     
    GetDiskFreeSpaceEx
    VB声明
    Declare Function GetDiskFreeSpaceEx Lib "kernel32" Alias "GetDiskFreeSpaceExA" (ByVal lpRootPathName As String, lpFreeBytesAvailableToCaller As LARGE_INTEGER, lpTotalNumberOfBytes As LARGE_INTEGER, lpTotalNumberOfFreeBytes As LARGE_INTEGER) As Long
    说明
    获取与一个磁盘的组织以及剩余空间容量有关的信息
    返回值
    Long,非零表示成功,零表示失败。会设置GetLastError
    参数表
    参数 类型及说明
    lpRootPathName String,不包括卷名的磁盘根路径名
    lpFreeBytesAvailableToCaller LARGE_INTEGER,指定一个变量,用于容纳调用者可用的字节数量
    lpTotalNumberOfBytes LARGE_INTEGER,指定一个变量,用于容纳磁盘上的总字节数
    lpTotalNumberOfFreeBytes LARGE_INTEGER,指定一个变量,用于容纳磁盘上可用的字节数
    Windows 95 OSR2,Windows NT 4.0
    注解
    LARGE_INTEGER结构与FILETIME结构在内部完全一致。正式调用前,用GetVersionEx判断函数是否得到了支持。在Windows 95 OSR2环境中,OSVERSIONINFO结构的dwBuildNumbe字段会大于1000
  • 相关阅读:
    TP6框架中如何无刷新上传文件
    TP6框架设置验证码的宽度和高度后,验证码显示不全
    TP6模板缓存问题
    TP6管理后台实战第五天文章管理
    20211027技术人为什么建议写博客
    TP6管理后台实战第六天系统管理
    博客园自定义菜单
    xcat无法连接服务器
    lsf安装后配置
    xcat网络无盘启动——添加自定义安装包
  • 原文地址:https://www.cnblogs.com/lisuyun/p/3627097.html
Copyright © 2020-2023  润新知