DirectoryExists return 服务检查网络文件夹时为 False

DirectoryExists return False when service check on network folder

我正在尝试使用服务应用程序中的 delphi 函数 DirectoryExists 检查网络文件夹中的目录是否存在。地址如 //[ip 地址]/thefolder。文件夹存在于网络 pc 中。但在使用此功能时始终给出 False(未找到)的结果。但是当我在非服务应用程序(桌面应用程序)中使用 DirectoryExists 时,该函数给出结果为真(文件夹存在/找到)。我已经阅读了所有关于 DirectoryExists 的文章,但仍然无法正常工作(大多数谈论的是桌面应用程序)。

我使用的是 Delphi 2007。 使用 Windows Server 2012 和 Windows XP。

implementation

{$R *.DFM}

procedure TsvcMyService.ServiceStart(Sender: TService;
var Started: Boolean);
begin
  Timer1.Enabled:=True;
end;

procedure TsvcMyService.Timer1Timer(Sender: TObject);
begin
  if DirectoryExists(\[ip address]\NetworkFolder) then
  begin
    LogMessage(' Exists !',EVENTLOG_SUCCESS,0,1234);
  end else
  begin
    LogMessage(' Not Exists !',EVENTLOG_ERROR_TYPE,0,1234);
  end;
end;

Local System 帐户无权访问网络资源。

参见Service User Accounts

尝试使用 Network Service or Local Service 帐户。或者,创建一个具有您需要的网络权限的实际用户帐户。