delphi 获取磁盘卷标为中文时返回错误,但英文状态下成功

jdper 2014-07-08 06:14:00
代码如下,应该是delphi 获取卷标时候转换出错吧, 怎么办?
procedure getname;
var
Path,VolumeName:array [0..MAX_PATH+1] of wideChar;
MaximumComponentLength,FileSystemFlags:Cardinal;
begin
// StrPCopy(Path,'c:\');
// GetVolumeInformation
GetVolumeInformationW( 'e:\',
VolumeName,
SizeOf(VolumeName),
nil,
MaximumComponentLength,
FileSystemFlags,
nil,
0);
form1.Text := VolumeName;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
getname;
end;
...全文
138 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
一如当初 2014-07-09
  • 打赏
  • 举报
回复
引用 2 楼 jdper 的回复:
哈哈,原来是这样,谢谢你! 既然是这样,那我该如何修改其卷标呢?有哪个函数,还是如果返回空的话就将text改为"本地磁盘"? 呵呵,原本可以结贴了,但请谅解在下的贪心,呵呵!
SetVolumeLabel
jdper 2014-07-09
  • 打赏
  • 举报
回复
想请教多点而已!
jdper 2014-07-09
  • 打赏
  • 举报
回复
哈哈,原来是这样,谢谢你! 既然是这样,那我该如何修改其卷标呢?有哪个函数,还是如果返回空的话就将text改为"本地磁盘"? 呵呵,原本可以结贴了,但请谅解在下的贪心,呵呵!
一如当初 2014-07-09
  • 打赏
  • 举报
回复
你的E盘没有卷标吧!?没有卷标的时候会显示“本地磁盘”,但通过函数获取的时候会返回空。

828

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧