Delphi - 使用非管理员应用程序写入文件与管理员用户一起使用,但不与非管理员用户一起使用

时间:2018-05-13 23:20:46

标签: delphi permissions admin rights

我试图让我的应用程序写入文本文件。当程序在Windows管理员帐户上运行时,它可以工作,但不是在使用常规Windows帐户运行时。应用程序两次都不以管理员身份运行。程序运行的帐户是否会影响写入权限?有办法解决它吗?

目录和文件都具有任何用户的写入权限。

我使用System的附加和WriteLn程序。

虽然我们将对自己目录的访问权限更改为普通用户可写,但仍可在Program Files目录中找到该文件。

编辑: 这是代码

var
f: TextFile;

AssignFile(f, sFile);

if not FileExists(sfile) then
begin
    Rewrite(f);
end
else
begin
    //Will append to the file
    Append(f);
end;

Writeln(f, sInfo);

Flush(f);
CloseFile(f);

1 个答案:

答案 0 :(得分:1)

是的,运行程序的帐户决定了它可以写入和不能写入的位置。

非管理员用户无法写入程序文件以及许多其他地方。

您需要做一些研究,以找出非管理员用户可以写入的位置,但首先要:System.IOUtils.TPath.GetHomePath