GetLogicalDriveStrings

功能:获取主机中所有的逻辑驱动器,以驱动器根路径字符串返回。

函数原型如下:

DWORD GetLogicalDriveStrings(
DWORD nBufferLength,
LPTSTR lpBuffer);
参数:
nBufferLength: 指向的内存空间的大小,以字节为单位。
lpBuffer: 指向存储返回结果字符串的内存空间
返回值:
函数的返回值指明了函数调用是否成功,如果成功则返回缓冲区中返回结果的总长度;如果返回值大于nBufferLength,说明给定的缓冲区大小不够,返回值是实际需要的大小;如果返回0,则说明函数运行出错。
说明:
函数调用成功后,将在缓冲区中依次填入本机所具有的驱动器根路径字符串,假如系统中有4个逻辑驱动器“C:\”、“D:\”、“E:\”,“F:\”。执行后在缓冲区中的结果如下:
0x43 0x3a 0x5c 0x00 0x44 0x3a 0x5c 0x000x45 0x3a 0x5c 0x00 0x46 0x3a 0x5c 0x00 0x00

即连续存放了“C:\”、“D:\”、“E:\”,“F:\”这4个字符串。

注意:会在每个字符串后加一个‘\0’结束符,在所有卷标字符串的最后在加一个结束符)。

实例:将驱动器跟路径字符串分别写入组合框IDC_COMBO_DISK中,并选定c:/盘符。

int m_nDriveCount = 0;
char  m_strDrives[200];
char  *m_strDrive[50];
char *s1="c:\";
GetLogicalDriveStrings(200,m_strDrives);
m_strDrive[0] = m_strDrives;
for (i=1; strlen(m_strDrive[i-1])>0; i++,m_nDriveCount++)
	{
		SendDlgItemMessage(IDC_COMBO_DISK, CB_ADDSTRING, 0,
			(LPARAM)m_strDrive[i-1]);	
		m_strDrive[i] = m_strDrive[i-1] + strlen(m_strDrive[i-1])+1;
		if (strcmp(m_strDrive[i-1],s1)==0)
		{
			m_nSelDrive=i-1;
		}
			
	}
SendDlgItemMessage(IDC_COMBO_DISK, CB_SETCURSEL,m_nSelDrive,0);</span>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小米的修行之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值