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 に答える