对网络文件夹进行服务检查时,DirectoryExists返回False

时间:2019-07-13 03:49:35

标签: service delphi-2007

我正在尝试使用服务应用程序中的delphi函数DirectoryExists检查网络文件夹中的目录是否存在。地址,例如// [ip地址] /文件夹。网络PC中存在文件夹。但是使用此功能时,始终将结果设为False(未找到)。但是,当我在非服务性应用程序(桌面应用程序)中使用DirectoryExists时,该函数给出的结果为True(文件夹存在/找到)。我已经阅读了所有有关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;

1 个答案:

答案 0 :(得分:0)

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

请参见Service User Accounts

请尝试使用Network ServiceLocal Service帐户。或者,创建具有所需网络权限的实际用户帐户。