【发布时间】:2013-03-21 18:38:06
【问题描述】:
您好,我在 Windows 8 中使用带有 XE3 的 delphi FM2。
我遇到的问题是我希望用户按下按钮,然后导航到位于 appdata ex 中的子文件夹。 C:\Users\Kobus\AppData\Roaming.minecraft
每个人都有不同的用户名,所以这不起作用。
所以我用这段代码来获取用户名:
function GetCurrentUserName : string;
const
cnMaxUserNameLen = 254;
var
sUserName : string;
dwUserNameLen : DWord;
begin
dwUserNameLen := cnMaxUserNameLen-1;
SetLength( sUserName, cnMaxUserNameLen );
GetUserName(PChar( sUserName ),dwUserNameLen );
SetLength( sUserName, dwUserNameLen );
Result := sUserName;
end;
username := GetCurrentUserName;
然后我说ShowMessage('C:\Users\'+username+'\AppData\Roaming\.minecraft\saves\'); 来检查输出。
我得到的输出是:'C:\Users\Kobus' 由于某种原因路径名的其余部分丢失了。
我需要显示的是:'C:\Users\'Kobus'\AppData\Roaming.minecraft\saves\'
谢谢。
【问题讨论】:
-
在 Windows XP 系统上,您的意思是
C:\Documents and Settings\<username>等。可能。即使您知道用户名,您也不知道路径是什么。使用SHGetSpecialFolderPath函数。
标签: delphi firemonkey