NT服务的本质?(100分)

  • 主题发起人 主题发起人 试验
  • 开始时间 开始时间

试验

Unregistered / Unconfirmed
GUEST, unregistred user!
各位,今日遇一问题:
有一段代码:
代码:
   var
     F: textfile;
   begin
     AssignFile(F, 'X:/Sample.txt');
     Rewrite(F);
     Writeln(F, 'Just created file with this text in it...');
     CloseFile(F);
   end;
其中X盘为网络映射到本地的盘符,放在一般的应用程序中执行没有问题。
但一放到Nt服务中就不能正确写文件了,什么结果也没有[?]。
请问各位侠客是什么问题呢?要如何设置一下才好?
NT服务不就是一个线程吗?
 
用其他API吧
 
应该是用户对文件的访问权限问题,注意这里的用户不是自己登录的用户,而是NT服务使用的用户。
在Windows NT中,每个服务都对应一个用户,缺省是系统用户,服务程序使用这个用户身份运行,可以在服务器管理器中设置。
你的程序访问的是网络资源,而缺省的系统用户对网络文件没有访问权限,所以什么结果也没有。
 
第一是权限问题。
第二,你的盘符在后边有没有映射成其他盘符。你查看看断点,看问题出在哪儿。
我就在WIN2000下用过,没有问题的。不过没在NT下试过,应该差不了多少吧?
建议你用绝对路径,比如说你是将//office-1/Tools映射成的X盘,那么你就用绝对路径
//office-1/Tools会好一些。
 
[:)]Sorry , 几天没来。
To goddy:
其他还有什么 Api?
To 飞龙在天:
我也怀疑是权限问题,但是我把执行帐号换成Administrator也不行,
另外,如何更改缺省的系统用户对网络文件没有访问权限?我怎么没找到?
我用的是Win2000 Adv Server。
To zhangkan:
绝对路径我也试过了[:(]
 
接受答案了.
 
后退
顶部