服务里访问不了自己注册的映射盘

m_halfman 2011-11-15 01:50:16
代码如下:

string cmd=@"use x: \\192.168.0.111\sharedir passss /user:userer";
System.Diagnostics.Process.Start("net",@cmd);

System.IO.FileInfo fileInfo = new System.IO.FileInfo(@"d:\vssver.scc");
System.IO.File.Copy(@"d:\vssver.scc",@"x:\"+fileInfo.Name);

报那个什么“找不到路径的一部分”的错。
这个程序是作为windows服务运行的,运行帐号是system,我后来改成了本机登录用户,也不行。

上网查了很多文章,都提到这个问题,也说到模拟登录等解决方案,但具体做法都语焉不详,哪里有代码可以参考吗?
而且我很奇怪,别人都是手动或其它程序注册的映射盘,所以服务访问不了。我是服务程序自身注册的映射盘,为什么也不能访问呢?
...全文
108 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
m_halfman 2011-11-18
  • 打赏
  • 举报
回复
情况有新变化,新发了一贴
http://topic.csdn.net/u/20111118/13/2f22e922-771b-4beb-8e61-9695b7a5e4ed.html
chenhs 2011-11-15
  • 打赏
  • 举报
回复
你的服务帐户有权限访问那个网络驱动器么?
阿非 2011-11-15
  • 打赏
  • 举报
回复
服务应该有选项的,看看是不是对应的没有开启
thinkingforever 2011-11-15
  • 打赏
  • 举报
回复
先试试手动能不能方式,如果能就把服务的登录方式改成管理员登录方式,
myProcess=Process.Start("CMD",@"/c net use \\"+computername+" "+password+@" /user:"+username);
myProcess.StartInfo.CreateNoWindow = true;
myProcess.WaitForExit(3000);
myProcess.Close()
这个地方的用户名密码也要正确,
如果手动都不能访问,就到网上搜解决共享文件的问题一般情况比较复杂。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧