| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3058 人关注过本帖
标题:如何获取磁盘卷标?
只看楼主 加入收藏
foproxs
Rank: 1
等 级:新手上路
帖 子:132
专家分:0
注 册:2006-4-24
收藏
 问题点数:0 回复次数:4 
如何获取磁盘卷标?
如何获取磁盘卷标?

我用System.IO.Directory.GetLogicalDrives();只能获取盘获,怎样才能获得卷标呢?
搜索更多相关主题的帖子: 磁盘 获取 
2006-06-30 10:32
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
收藏
得分:0 
Console.WriteLine(System.IO .Directory .GetDirectoryRoot(System.Windows .Forms .Application .StartupPath) );
可能我不太明白你的意思
这个输出结果是 D:\

此号自封于2006年11月30日
2006-06-30 10:43
foproxs
Rank: 1
等 级:新手上路
帖 子:132
专家分:0
注 册:2006-4-24
收藏
得分:0 

就是输出卷标.


2006-06-30 10:47
houyunqing
Rank: 1
等 级:新手上路
帖 子:476
专家分:0
注 册:2005-4-1
收藏
得分:0 
API里面有,帮你看看...
GetVolumeInformation
VB的声明:
Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long
C#的:
[DllImport("kernel32.dll",SetLastError=true)]
public static extern int GetVolumeInformation (String lpRootPathName ,StringBuilder lpVolumeNameBuffer ,int nVolumeNameSize ,.... );//把long 改成int或者IntPtr,把string改成stringbuilder...


返回值
Long,非零表示成功,零表示失败。会设置GetLastError

参数表
参数 类型及说明
lpRootPathName String,欲获取信息的那个卷的根路径
lpVolumeNameBuffer String,用于装载卷名(卷标)的一个字串
nVolumeNameSize Long,lpVolumeNameBuffer字串的长度
lpVolumeSerialNumber Long,用于装载磁盘卷序列号的变量
lpMaximumComponentLength Long,指定一个变量,用于装载文件名每一部分的长度。例如,在“c:\component1\component2.ext”的情况下,它就代表component1或component2名称的长度
lpFileSystemFlags Long,用于装载一个或多个二进制位标志的变量。对这些标志位的解释如下:
FS_CASE_IS_PRESERVED 文件名的大小写记录于文件系统
FS_CASE_SENSITIVE 文件名要区分大小写
FS_UNICODE_STORED_ON_DISK 文件名保存为Unicode格式
FS_PERSISTANT_ACLS 文件系统支持文件的访问控制列表(ACL)安全机制
FS_FILE_COMPRESSION 文件系统支持逐文件的进行文件压缩
FS_VOL_IS_COMPRESSED 整个磁盘卷都是压缩的
lpFileSystemNameBuffer String,指定一个缓冲区,用于装载文件系统的名称(如FAT,NTFS以及其他)
nFileSystemNameSize Long,lpFileSystemNameBuffer字串的长度

寻求挑战,追求完美 Oh,my god!
2006-07-01 11:05
foproxs
Rank: 1
等 级:新手上路
帖 子:132
专家分:0
注 册:2006-4-24
收藏
得分:0 
thank you

2006-07-02 02:17
快速回复:如何获取磁盘卷标?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020879 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved