首页 相关文章 C++ 通过WIN32 API 获取逻辑磁盘详细信息

C++ 通过WIN32 API 获取逻辑磁盘详细信息

众所周知,在微软的操作系统下编写应用程序,最主要的还是通过windows所提供的api函数来实现各种操作的,这些函数通常是可以直接使用的,只要包含windows.h这个头文件, 下载源文件

今天我们主要介绍的是几个常用的api函数,通过它我们可以获取用户磁盘的相关信息。

其主要函数原型说明如下:

1.获取系统中逻辑驱动器的数量

The GetLogicalDrives function retrieves a bitmask representing the currently available disk drives.

DWORD GetLogicalDrives(void);

2.获取所有驱动器字符串信息

The GetLogicalDri...[ 查看全文 ]

2016-02-19 标签:
  • 前言:本文书写的格式与其它不相同。本文题目说是关于C++ API的思考,其实也不仅仅是C++,对于其它语言同样适用。 API实际是指Application Programming Interface,应用程序编程接口。对API是一套用来控制Windows的各个部件的外观和行为的一套预先定义的Windows函数。在C++中我认为:一个API就是一堆类以及类中方法和字段的集合。 并不是所有的签名都是API的一部分,未公开的部分(private)内容不是API,它不对...[ 查看全文 ]
  • 中午休息时,在FOX API(我常用的Win32 API浏览器)上发现了一个简单极好用的Win32API函数,是用来判断本地文件或远程机器文件是否存在的: 1. Private Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal pszPath As String) As Long 这是封装在Shell32.DLL系统文件里的一个函数,既可以判断本地文件是否存在,又可以判断远程电脑上的文件是否存在。函数返回值是个Long型变...[ 查看全文 ]
  • 标签:ASP
    <% Class SWFDump Private header Private RECTdata Private nBits Private mversion Private mfilelen Private mxMin Private mxMax Private myMin Private myMax Private mheigt Private mwidth Private mframerate Private mframecount Private Sub Class_Initialize() End Sub Private Sub Class_Terminate() End Sub Private Function ReadHeader (filename) Const ForReading = 1, ForWrit...[ 查看全文 ]
  • 标签:PHP
      Author: Mitchell Harper 翻译    :Kefeng Nie (kefeng_nie@163.com) Date   :2002-10-15   一,简介   如果你对Unix/Linux有所了解的话,你应该知道他们大都自带了C和C++的编译器,分别是GCC和G++。Unix在程序安装及Make等许多地方使用到了这些编译器。利用一些控制台命令,C++和PHP, 我将向你介绍怎样生成一个完整的C++程序例子,他可以在用PHP程序来执...[ 查看全文 ]
  • 解说Win32的窗口子类化            作者:李马(home.nuc.edu.cn/~titilima) 下载本文的配套源代码         也许你需要一个特殊的Edit来限制浮点数的输入,但是现有的Edit却并不能完成这项工作——因为它只能够单纯的限制大小写或者纯数字。当你在论坛上求救的时候,某个网友告诉你:“用子类化。”你也许会在看到一线曙光的同时多出了一连串的问题...[ 查看全文 ]
  • 一:点击桌面左下方的开始,在开始菜单中点击运行。 二:点击完运行之后会弹出这样一个对话框。 三:我们在对话框中输入regsvr32 jscript.dll然后点击确定。 四:然后对弹出如图的对话框,表示命令执行成功,点击确定。 五:再次点击开始—运行。 六:在弹出的运行窗口中...[ 查看全文 ]
  • 标签:PHP
      一、简介 如果你对Unix/Linux有所了解的话,你应该知道他们大都自带了C和C++的编译器,分别是GCC和G++。Unix在程序安装及Make等许多地方使用到了这些编译器。利用一些控制台命令,C++和PHP, 我将向你介绍怎样生成一个完整的C++程序例子,他可以在用PHP程序来执行,并能获得相应的输出结果。我将先生成C++程序代码,并编译它,谈后讨论我们将如果通过使用PHP的函数passthru来执行这个程...[ 查看全文 ]
  • 获得 Win32 窗口句柄的更好的方法 ----动态生成并显示 HTML 文档   ----再谈禁用HTML的上下文菜单... 编译/NorthTibet 原文出处:MSDN Magazine C++ Q&A 下载源代码  译者注: 在以前的VC知识库 Online Journal 上有三篇文章: “VC6中使用CHtmlView在对话框控制中显...[ 查看全文 ]
  • 环境变量设置:单击桌面我的电脑右键属性-高级-环境变量-双击Path项,添加C:MySQL5.1.40bin目录,如果要使用SDK开发,则要添加Lib和include目录到对应的Lib和include环境变量中; 环境变量设好,在开始菜单-运行-CMD,执行MySQLD,或是直接切换到C:MySQL5.1.40bin目录双击运行MySQLD.exe服务程序,也可以服务的形式运行: 注意mysql安装目录不要有中文或空格,在SDK开发中,如QT会有意想不到的问题; 安装服务...[ 查看全文 ]
  • /*p129*/#include class CComplex{public: CCpomplex(double r=0,double i=0) { realPart=r; imagePart=i; } void print() { cout /*p129*/#include class CComplex{public: CCpomplex(double r=0,double i=0) { realPart=r; imagePart=i; } void print() { cout[ 查看全文 ]
  • 如果某个派生类的部分或者全部直接基类是从另一个共同的基类派生而来,在这些俄直接基类中, 从上一级基类继承来的成员就拥有相同的名称,因此派生类中就会出现同名现象。对这种类型的同名成员也要使用作用域分辨符来唯一标识,而且必须使用直接基类来进行限定。 -------------------------------------------------- /* * File: main.cpp * Author: ...[ 查看全文 ]
  • 一直对C++中的delete和delete[]的区别不甚了解,今天遇到了,上网查了一下,得出了结论。做个备份,以免丢失。 C++告诉我们在回收用 new 分配的单个对象的内存空间的时候用 delete,回收用 new[] 分配的一组对象的内存空间的时候用 delete[]。 关于 new[] 和 delete[],其中又分为两种情况:(1) 为基本数据类型分配和回收空间;(2) 为自定义类型分配和回收空间。 请看下面的程序。 代码如下: #include ...[ 查看全文 ]
  • 《暗黑破坏神3》1.03怪物伤害削弱程度详细信息说明          暗黑3 1.03更新文件中的数据,查到了A2-A4场景中(即怪物等级62-63级)怪物基础伤害的变化。从文件中挖出来的数据更改,仅供参考 *62级怪物:基础伤害变化52807.09375 - 33686 *63级怪物:基础伤害变化113486.9609375 - 63615 注:每种等级怪物的伤害都是基于此等级的基础伤害 例如舔爷可能...[ 查看全文 ]
  • C++对象计数 作者:yy2better 关键字:C++ 对象计数 实例计数 本文目的是实现一个实用的对C++类计数的类,同时在实现过程中指出一些容易为人忽视的C++知识。 要实现一个类的对象(实例)计数,即程序运行中此类有多少个对象存在,最容易的实现方法是使用静态数据成员。如下: class Widget {public: Widget() { ++count; } ...[ 查看全文 ]
  • C++多态技术 作者:荣耀 提交者:eastvc 发布日期:2003-12-14 19:38:12 原文出处:http://www.royaloo.com/articles/articles_2003/PolymorphismInCpp_content.htm 摘要 本文描述了C++中的各种多态性。重点阐述了面向对象的动态多态和基于模板的静态多态,并初步探讨了两种技术的结合使用。  关键词 多态  继承  虚函数  模板  宏  函数重载 泛型编程  ...[ 查看全文 ]
  • 在日常开发过程中经常会使用到时间类函数的统计,其中获取1970年至今的UTC时间是比较常使用的,但是在windows下没有直接能够精确到微妙级的函数可用。本文提供方法正好可以解决这类需求问题。 下面先给出 C++实现代码 : 代码如下: #ifndef UTC_TIME_STAMP_H_ #define UTC_TIME_STAMP_H_ #include windows.h #include sys/timeb.h #include time.h #if !defined(_WINSOCK2API_) && !defined(_WINSOCKAPI...[ 查看全文 ]
  • 1. C++虽然主要是以C的基础发展起来的一门新语言,但她不是C的替代品,不是C的升级,C++和C是兄弟关系。没有谁比谁先进的说法,更重要的一点是C和C++各自的标准委员会是独立的,最新的C++标准是C++98,最新的C标准是C99。因此也没有先学C再说C++的说法,也不再(注意这个"不再")有C++语法是C语法的超集的说法。 2. C++/CLI 和 C# 是微软的,它们与C和C++没有任何关系,虽然部分语...[ 查看全文 ]
  • <C++实践系列C++中的引用(reference) 作者:张笑猛 提交者:eastvc 发布日期:2003-11-22 14:44:07 原文出处:http://objects.nease.net/ 1.简介 2.引用的语法 3.引用使用技巧     3.1 引用和多态     3.2 作为参数     3.3 作为返回值     3.4 什么时候使用引用 4. 参考资料 1.简介     引用是C++引入的新语言特...[ 查看全文 ]
  • <C++实践系列C++中的异常(exception) 作者:张笑猛 提交者:eastvc 发布日期:2003-11-22 14:40:53 原文出处:http://objects.nease.net/ 1.简介   1.1常用的错误处理方式   1.2 不常用的处理方式   1.3 异常 2. 异常的语法   2.1 try   2.2 catch   2.3 throw   2.4 函数声明 3. 异常使用技巧   3.1 异常是如何工作的     3.1.1 unwind...[ 查看全文 ]
  •   适用于: Microsoft Visual C++ .NET 2003 Microsoft Visual C++ Toolkit 2003 Microsoft Visual Studio .NET 摘要: 演示了 Visual C++ 2003 编译器提供的众多代码优化功能中的几项功能。(8 页打印页) 本文是 Visual C++ Too...[ 查看全文 ]