| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 388 人关注过本帖
标题:求助:服务程序无法访问文件夹
只看楼主 加入收藏
wcs123a
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-3-17
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
求助:服务程序无法访问文件夹
  本地管理员账号,C++写一程序A可以访问某一软件形成的文件夹B,但把A转成服务程序C注册服务就无法访问B,认为B不存在。经过测试,只要注册服务程序访问B或服务程序调用原来能访问B的一般程序,都不成功。
    本人编程水平差,不常写软件,希望遇到此类的程序员或能解决此问题的C/C++牛人联系我(QQ:1755106002),注册成服务能够访问的500请吃饭酬劳。资深编程者一定是小问题,略懂程序的请勿打扰,急用谢谢。
搜索更多相关主题的帖子: 文件夹 管理员 程序员 软件 账号 
2014-03-17 08:45
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:7 
转成服务,估计它的当前用户就应该是系统了,那么估计访问的目录就是系统用户目录而不是你的那个本地用户目录,所以就出现了目录不存在这个情况了。。

程序运行时候对应这有个用户的,一般的程序(比如通过鼠标点击起来运行的),都是你登录计算机时候的那个用户,而服务程序估计就是system了
如果某程序设置的那个文件夹,在当前用户目录比如 C:\Users\你的用户名\aa),而服务的就可能去读C:\Users\系统用户名\aa了。。

你先确认下那个目录是否是在用户目录下

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2014-03-17 09:37
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
同时还要注意一点,程序还有个工作目录
比如程序打开一个文件名,如果不指定全路径,那么它就从当前工作目录下去读取了,比如你打开  a.txt,那么,当前工作目录去读取了。

比如一个普通的exe程序,直接双机它运行时候,那么它的当前目录一般就是你双机它时候的目录了。加入你用管理员身份运行,那么,它的当前目录就是系统目录了。
假如这个程序读取一个文件,没有写全路径,那么他们读取的位置就不同 了

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2014-03-17 09:41
玩出来的代码
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河南新乡
等 级:贵宾
威 望:11
帖 子:742
专家分:2989
注 册:2009-10-12
收藏
得分:7 
2楼说的有道理。
服务是以system权限运行的, 程序是以用户权限运行,当服务调起你的程序B时 B继承了服务的权限还是以system权限运行。
解决办法:确定目录是否存在问题, 可以以当前用户的权限将B调起

离恨恰如春草,更行更远还生。
2014-03-18 17:09
天使梦魔
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:37
帖 子:564
专家分:2754
注 册:2007-8-29
收藏
得分:7 
目录错,服务权限大于用户权限,不然会出现无法启动该服务
2014-03-18 17:11
快速回复:求助:服务程序无法访问文件夹
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.052907 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved