当前位置: 首页 > 编程日记 > 正文

获取磁盘符信息

项目中有个子模块是ftp客户端,需要罗列本地各个磁盘符,比如C盘、D盘、E盘、F盘。然后进行一些相关的上传下载就比较方便,具体样子如下所示:
这里写图片描述
需要利用一个Combox控件实现。
废话不多说,先上代码:

void  CFTPCilentDlg::Getlocaldrv()
{//获取所有盘符m_comlocal.ResetContent();   //清除目前所有项TCHAR szBuf[100];memset(szBuf,0,100);DWORD len=GetLogicalDriveStrings(sizeof(szBuf)/sizeof(TCHAR),szBuf);for (TCHAR * s= szBuf;*s;s+=_tcslen(s)+1){//MessageBox(sDrivePath);CString k = s;m_comlocal.AddString(k);}m_comlocal.SetCurSel(0);    //设置0项为显示的内容
}

代码中的m_comlocal是Combox控件关联的控件变量,ResetContent()和AddString()是对该控件的操作。所以其中核心的函数是GetLogicalDriveStrings()函数。那我就对这个函数简单介绍一下:
定义:

DWORD GetLogicalDriveStrings(DWORD nBufferLength,LPTSTR lpBuffer);

获取一个字串,其中包含了当前所有逻辑驱动器的根驱动器路径
返回值
返回保存所有数据所需要的字节数。应该总是比较返回值与参数cchBuffer的大小。
参数表
参数 类型及说明
DODOWRD cchBuffer,缓冲区的大小
LPTSTR lpszBuffer,用于装载逻辑驱动器名称的字串。每个名字都用一个NULL字符分隔,在最后一个名字后面用两个NULL表示中止(空中止) 例如A:\C:\
用法其实很简单。我的项目中做到这里其实就已经可以了。关于扩展的一些功能我引用别人的博客:http://www.cnblogs.com/qq78292959/archive/2012/06/12/2546914.html

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

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

DWORD GetLogicalDrives(void);

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

The GetLogicalDriveStrings function fills a buffer with strings that specify valid drives in the system.

DWORD GetLogicalDriveStrings(

DWORD nBufferLength,

LPTSTR lpBuffer

);

3.获取驱动器类型

The GetDriveType function determines whether a disk drive is a removable, fixed, CD-ROM, RAM disk, or network drive.

UINT GetDriveType(

LPCTSTR lpRootPathName

);

  1. 获取驱动器磁盘的空间状态,函数返回的是个BOOL类型数据

The GetDiskFreeSpaceEx function retrieves information about the amount of space available on a disk volume: the total amount of space, the total amount of free space, and the total amount of free space available to the user associated with the calling thread.

BOOL GetDiskFreeSpaceEx(

LPCTSTR lpDirectoryName,

PULARGE_INTEGER lpFreeBytesAvailable,

PULARGE_INTEGER lpTotalNumberOfBytes,

PULARGE_INTEGER lpTotalNumberOfFreeBytes

);
利用上面的四五个函数基本可以实现对磁盘符的操作。因为我的项目中只是需要罗列磁盘符,然后根据Combox控件中选择的磁盘,罗列该磁盘目录下的文件目录:
这里写图片描述
这里写图片描述

关于如何罗列每个磁盘符下面的文件目录路,我在后面的博客会写到。
OK,到此!
 
             拙见,小记!

相关文章:

成为计算机视觉工程师的第一个月,我都学会了什么?

作者 | Richmond Alake译者 | 弯月题图 | 自视觉中国出品 | AI科技大本营(ID:rgznai100)我写这篇文章的目的是为了向那些没有接触过机器学习行业的人们介绍一下我作为计算机视觉工程师第一个月以来的体验,希望这些内部信息能够让你…

天然良方对付小病

打嗝、口臭、消化不良……我们的身体时常会受到一些小毛病的困扰。20位来自美国各大医院的权威医生在美国《预防》杂志网站上发表文章,向读者介绍了一些纯天然的便捷方法,来快速应对这些小病。 生姜止吐。先用热水冲泡生姜片,过滤后把姜汤倒在…

Spring中使用Schedule调度

在spring中两种办法使用调度&#xff0c;以下使用是在spring4.0中。 一、基于application配置文件&#xff0c;配置入下&#xff1a; 1 <bean id"jobDetail" class"org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">…

DNS域名解析优化之tinydns/djbdns篇——测试篇

要开始还债了。 今天整理了一下一套bind9的配置&#xff0c;把记录都清理了一番。想了想&#xff0c;顺带安装了个geoipdns来做性能测试。整理记录的时候用bind-to-tinydns转换了一下记录格式。这些过程以后再说。 NS服务器是同一台Dell PowerEdge 2950。先启动的geoipdns&…

使用Combox控件的一个问题

Combox控件是MFC里边一个比较常用的控件&#xff0c;基本可以看成是一个文本框和一个下拉列表组合而成。但是我在用的时候碰到了一个问题&#xff0c;当我用AddString()函数加了4,5个字符串后&#xff0c;运行之后点击下拉箭头并没有下拉框的显示&#xff0c;或者说显示不出来。…

深度学习基础总结,无一句废话(附完整思维导图)

作者 | Python与算法社区责编 | Carol封图 | CSDN 付费下载于自视觉中国线型回归预测气温、预测销售额、预测商品价格等模型&#xff1a;权重&#xff0c;偏差模型训练&#xff1a;feed 数据学习模型参数值&#xff0c;使得误差尽可能小训练集、测试集、验证集、样本、标签、特…

unity, monoDevelop ide 代码提示不起作用的解决方法

monoDevelop ide 代码提示不起作用&#xff0c;可能是因为ide里索引了一些不存在的文件&#xff0c;检查一下solution窗口里是否有文件变红&#xff0c;如下图中springControlEx.cs。将变红的文件remove掉&#xff0c;然后去unity菜单中点File->Save Project。

DeeCamp 2020 赛题大公开!快来看你想选哪个

DeeCamp 2020 开放性竞赛赛题来啦&#xff0c;快来看看有没有你感兴趣的题目&#xff01;加入DeeCamp2020&#xff0c;你将和来自全球的优秀小伙伴组队挑战真实世界的难题&#xff0c;还能冲刺大奖。五大赛道&#xff0c;14个新颖赛题&#xff0c;总有一款适合你&#xff01;De…

Combox控件下拉选择不同值触发的动作响应

项目中需要根据combox控件下拉列表选择不同的值&#xff0c;然后能触发相应的动作。比如我的项目中&#xff0c;通过combox空间的下拉列表选择不同的C盘&#xff0c;D盘&#xff0c;E盘&#xff0c;F盘&#xff0c;然后能在list控件中把各个盘符的文件目录列出来。 那么触发…

不用se11创建表结构,作smartforms

Call form时不用传内表&#xff0c;切记。 1。在Global Definitions->types页面里输&#xff1a; types:begin of wa_test, matnr like mara-marnt, maktx like makt-maktx, end of wa_test. types:it_test type wa_test occurs 1. 2. 在Global Definitions->Global Data…

linux入门(三)常见Linux指令及其用法

一、上回说到说到Linux的shell指令运行的原理&#xff0c;这回我们来看看Linux中shell的权限管理&#xff0c;所谓的“权限”是指某一类人做某一件事的权利。在shell中这一类人被分为了三种&#xff1a;&#xff08;1&#xff09;文件拥有者user&#xff08;2&#xff09;文件拥…

设置Enter键为默认键

进行MFC编程中&#xff0c;很多时候需要设置快捷键&#xff0c;比如我的项目中&#xff0c;播放器的实现&#xff0c;需要快进、快退、播放、暂停等&#xff0c;除了具体的按钮操作外应该还能通过键盘的快捷键来进行操作。 关于如何设置一个菜单的快捷键或是一个按钮的快捷键&…

MAML-Tracker:用目标检测思路做目标跟踪?小样本即可得高准确率丨CVPR 2020

来源 | 微软研究院AI头条&#xff08;ID: MSRAsia&#xff09;编者按&#xff1a;目标检测与目标跟踪这两个任务有着密切的联系。针对目标跟踪任务&#xff0c;微软亚洲研究院提出了一种通过目标检测技术来解决的新视角&#xff0c;采用简洁、统一而高效的“目标检测小样本学习…

从哲学角度分析,框架的[无用之用]效果

小树的用途少&#xff0c;人们不理睬它、不砍伐它、才有机会长成有用之巨木&#xff0c;此为「无用」之用﹗老子说过&#xff1a;「人皆知有用之用&#xff0c;而莫知无用之用」&#xff0c;这与框架观念是一致的。 数千年前&#xff0c;老子提出了这「有、无」哲理&#xff0c…

xtrabackup2.4 备份Precona5.6数据库,做增量备份与还原

1、Full backuop&#xff0c;一定要先做: innobackupex --defaults-file/etc/my.cnf --userroot --passwordevlink /home/mysql/backup/2、Incremental backup&#xff0c;可以每隔一小时或者三小时做一次: innobackupex --defaults-file/etc/my.cnf --userroot --passw…

MFC按钮添加提示文字

转载自&#xff1a; http://blog.163.com/guo_linda/blog/static/12377305720101122105030162/ MFC里这个类叫做CToolTipCtrl&#xff0c;具体用法很简单。 1、在类头文件中声明CToolTipCtrl的类对象m_ctrlTT。 2、在初始化函数OnInitDialog()中设置m_ctrlTT。 EnableTool…

Go远超Python,机器学习人才极度稀缺,全球16,655位程序员告诉你这些真相

作者 | 唐小引题图 | HackerEarth 报告出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;Go 正变得越来越受开发者欢迎。几年前&#xff0c;滴滴的工程师曾告诉我&#xff0c;在滴滴 Go 已经得到了非常广泛的应用&#xff0c;去年&#xff0c;在腾讯内部使用…

WinCE中命令行工具Viewbin简介(查看nk.bin中包含的文件)

Viewbin是微软提供的一个命令行工具&#xff0c;在WinCE5.0和WinCE6.0中&#xff0c;可以在"/WINCE600/PUBLIC/COMMON/OAK/BIN/I386"找到他。Viewbin工具可以用来查看NK.bin文件。它可以从NK.bin中获得这个NK image的大小&#xff0c;运行的起始地址等。还能查看到里…

元素多层嵌套,JS获取问题

如果一段html嵌套过多&#xff0c;在js中获取还是比较麻烦的&#xff0c;我写了几套方案&#xff0c;大家可以参考参考&#xff0c;如果你有好的方法&#xff0c;也分享出来&#xff0c;让我们瞧瞧。 HTML&#xff1a; <!DOCTYPE html> <html lang"en"> …

MFC静态文本控件设置超链接

有时我们需要在窗口上设置一个超链接&#xff0c;比如在Aboutdlg上设置“我的博客”这样的超链接.具体的设置方法如下。 1、首先我们在窗体上添加一个Static文本控件&#xff0c;修改Caption属性&#xff0c;设置成你想要的超链接标题&#xff0c;比如“更多内容欢迎访问小梦的…

百度云「升级战」:王海峰站台,新架构全面AI化,AI和知识中台登场

5月18日&#xff0c;"ABC SUMMIT 2020百度夏季云智峰会"在线上召开。刚刚经历了人事变动的百度云迎来重磅升级&#xff0c;大会以"百度智能云加速产业智能化"为主题&#xff0c;百度智能云全新战略、新架构首次亮相&#xff0c;AI中台、知识中台两大创新平…

Mysql实现非程序控制读写分离

五一假期&#xff0c;有个博友给我发邮件&#xff0c;说我的这篇blog&#xff1a;http://bobwu.blog.51cto.com/2918362/537077 只能通过程序员在程序中实现读写分离&#xff0c;咨询能否实现程序员无察觉的读写分析&#xff0c;呵呵&#xff0c;我明白意思。回答是肯定的&…

MFC系统托盘的实现

通常电脑里边的软件&#xff0c;当你打开后会在电脑最右下角的任务栏上生成一个系统托盘&#xff0c;当你点击最小化或者点击关闭按钮后&#xff0c;若想恢复窗口&#xff0c;可以左键双击或者单机这个系统图标&#xff0c;同时鼠标右键点击&#xff0c;又会有其他的菜单弹出&a…

王海峰发布百度智能云最新架构,推出AI中台和知识中台

5月18日&#xff0c;在百度云智峰会上&#xff0c;百度CTO王海峰发布最新百度智能云架构规划。首先&#xff0c;他分享了百度利用AI、大数据、云计算等技术帮助疫情防控、复工复产的成果&#xff1a;AI多人测温1周检测2700万人次&#xff0c;时空大数据记录人流迁徙24亿人次&am…

Linux虚拟内存优化的方法

首先查看虚拟内存的使用情况&#xff0c;使用命令   # free   查看当前系统的内存使用情况。  一般来说&#xff0c;linux的物理内存几乎是完全used。这个和windows非常大的区别&#xff0c;它的内存管理机制将系统内存充分利用&#xff0c;并非windows无论多大的内存都要…

statpot:使用mongo+bootstrap+highcharts做统计报表

最近做了一个统计项目&#xff0c;这个统计项目大致的需求是统计接口的访问速度。客户端会调用一个接口来记录接口的访问情况&#xff0c;我的需求就需要分析这些数据&#xff0c;然后做出个统计报表。 需求实现 最初的时候想着每天把这些接口访问情况的信息存储到mysql中&…

磁盘文件目录罗列和list控件的使用

开发类似ftp客户端的这种软件&#xff0c;需要对每个磁盘下的文件目录进行罗列并显示。方便文件的上传、下载等。就如同我们打开每个磁盘所显示的那样&#xff0c;罗列了你这个磁盘目录下的所有文件夹和文件。 那我们在自己的程序中如何做到这样呢&#xff1f; 主要用到两个…

潘石屹Python考试成绩99分,网友:还有一分怕你骄傲

整理 | 伍杏玲题图 | 视觉中国来源 | 程序人生&#xff08;ID&#xff1a;coder_life&#xff09;5月16日凌晨00:21分&#xff0c;地产大亨潘石屹在微博晒出自己的Python编程一级考试成绩&#xff0c;99分&#xff0c;厉害&#xff01;像每个学生时期的我们&#xff0c;还会“检…

让Chrome成为你的pdf阅读器

我在Mac OS上使用过的浏览器有Chrome、Safari和Firefox&#xff0c;由于做的产品要支持多浏览器&#xff0c;所以这几种浏览器都会用到&#xff0c;Chrome的使用频率更高一些。 之前想通过浏览器在线阅读PDF时&#xff0c;一般都会提示进行下载&#xff0c;装了类似iGetter或Fo…

l5如何通过路由走api版本回退查找设置

l5如何通过路由走api版本回退查找设置 具体需求 当前遇到的问题是使用laravel写接口&#xff0c;但是接口是有版本号的&#xff0c;我们把版本号放在url中&#xff0c;比如&#xff1a; http://yejianfeng.com/api/user/info/?uid1 http://yejianfeng.com/api1.1/user/info/?…