3

これはシナリオです:

  1. ユーザーは、Windows 2008 Server R2 を実行しているサーバーでリモート デスクトップ セッションを開きます。
  2. リモート デスクトップ セッションはマップされたドライブを使用しませんが、クリップボードの共有が有効になっています。
  3. ユーザーがリモート デスクトップ セッションで MyApplication を起動します。
  4. ユーザーはクライアント マシンで Windows エクスプローラーを開き、ファイルをクリップボードにコピーします。
  5. MyApplication (リモート デスクトップ セッション) で、ユーザーは [ファイルの保存] ボタンをクリックします。
  6. MyApplication はクリップボードからファイルを取得し、サーバー上のディレクトリに保存します。

MyApplication は古い vb6 アプリケーションですが、これを .Net に実装して、com 相互運用機能を介して使用しても問題ありません。vb6 の Clipboard クラスと .Net の Systems.Windows.Forms.Clipboard クラスの両方を試しました。どちらの場合も、クリップボードにあるように見えるのは、クライアント マシンのファイル パスだけです。コードはサーバー上で実行されており、サーバーからファイルを取得する必要があるため、これは役に立ちません。

また、(リモート デスクトップを介して) サーバー上の Windows エクスプローラーにファイルを手動で貼り付けたときに、これが機能することも確認しています。クライアントで別のプログラムを実行してこれを行う方法を示す例をいくつか見つけましたが、それは私たちのオプションではありません. これは、リモート デスクトップだけで機能する必要があります。ヘルプ、コード サンプル、ドキュメントへのリンクなどをいただければ幸いです。

4

1 に答える 1

0

リモート デスクトップ接続を介したドライブ共有が有効になっていないのですか? ([オプション]、[ローカル リソース] に移動し、[その他] をクリックすると、[ドライブ] オプションのチェックが外れます)

その場合、リモート デスクトップ接続を介してファイルを Windows エクスポラー ウィンドウにコピー アンド ペーストしても機能しません。また、その方法がわかりません。ファイル クリップボード / ドラッグ アンド ドロップ操作は、ファイル パスをクリップボードに配置することで基本的に機能します。 、そして宛先アプリケーションがファイルに対して望むことを実行できるようにします(通常、ファイルをコピーするか、ファイルを開きます)。リモート デスクトップでドライブ共有を使用する場合、ファイルは//tsclient「共有」を介して利用できますが、これがリモート接続で有効にされていない限り、宛先アプリケーション (Windows エクスプローラーを含む) はファイルにアクセスできません。

ドライブ共有が有効になっている場合、ファイルへのパス (共有を介してアクセス可能) がクリップボードに配置されていることがわかります//tsclient。他の共有上のファイルと同様の方法で、このパスの下のファイルにアクセスできるはずです。

クリップボード ビューアー (このようなもの) も便利です。

于 2011-05-05T23:14:44.177 に答える