1

我正在编写一个应用程序,它执行以下操作:创建目录、复制文件和执行命令。

我的应用程序是服务器应用程序,客户端是 Windows 8 机器。

例如,我正在尝试在我的 Windows 8 机器上创建一个目录,因此我使用以下命令:

string outputPath = @"\\" + ipAddress+ "\\C\\NewDir";
Directory.CreateDirectory(outputPath);

请注意,C 是共享的并且具有权限。(我的代码用于连接到 Windows 7 机器,一切正常......)

起初,它不起作用,声称我输入了无效的用户名和/或密码。经过几次尝试和错误尝试,我尝试使用 Windows 的运行 (\10.0.1.125\C) 直接访问远程“C”驱动器。当然,它要求输入密码,当我输入我的凭据并点击“保存它们”时,我访问了我的远程“C”驱动器。然后,当我再次运行我的应用程序时,它也可以正常工作,并且已经创建了目录。

但是,它以前工作过,所以我猜有某种“超时”来保存远程计算机的凭据。

所以我想我的问题是:有什么方法可以更改连接字符串,使其包含嵌入在连接字符串中的凭据,这样我就不必每次都远程键入它们,然后启动我的应用程序?

就像是:

string outputPath = @"\\" + userName + ":" passWord + "@" + ipAddress+ "\\C\\NewDir";
Directory.CreateDirectory(outputPath);

谢谢。

4

1 回答 1

0

您需要使用 WNetAddConnection2 函数来设置您的凭据。

您将在其他帖子中找到实现目标的几种方法:

连接到网络共享时如何提供用户名和密码

于 2013-02-23T23:26:55.380 回答