3

这是场景:

  1. 用户在运行 Windows 2008 Server R2 的服务器上打开远程桌面会话。
  2. 远程桌面会话不使用映射驱动器,但启用了剪贴板共享。
  3. 用户在远程桌面会话中启动 MyApplication。
  4. 用户在客户端计算机上打开 Windows 资源管理器并将文件复制到剪贴板。
  5. 在 MyApplication(在远程桌面会话中)用户单击“保存文件”按钮。
  6. MyApplication 从剪贴板获取文件并将其保存到服务器上的某个目录。

MyApplication 是一个旧的 vb6 应用程序,但可以在 .Net 中实现它并通过 com interop 使用它。我们已经尝试过 vb6 中的 Clipboard 类和 .Net 中的 Systems.Windows.Forms.Clipboard 类。无论哪种情况,剪贴板上似乎唯一的东西就是客户端计算机上的文件路径。这没有用,因为代码在服务器上运行,我们需要从服务器获取文件。

我们还确认,当我们手动将文件粘贴到服务器上的 Windows 资源管理器(通过远程桌面)时,这确实有效。我们确实找到了一些示例来展示如何通过在客户端上运行另一个程序来做到这一点,但这不是我们的选择。这只能在远程桌面上工作。任何帮助、代码示例、文档链接等将不胜感激。

4

1 回答 1

0

所以没有启用通过远程桌面连接的驱动器共享?(当您转到选项,本地资源并单击更多时,“驱动器”选项未选中)

如果是这样,那么通过远程桌面连接将文件复制并粘贴到 Windows Exporer 窗口不起作用,我看不出它是如何工作的 - 文件剪贴板/拖放操作基本上通过将文件路径放在剪贴板上来工作,然后允许目标应用程序对文件执行任何操作(通常是复制文件或打开文件)。在远程桌面上使用驱动器共享时,文件可通过//tsclient“共享”获得,但除非在远程连接上启用此功能,否则目标应用程序(包括 Windows 资源管理器)将无法访问文件。

如果启用了驱动器共享,那么您应该会发现文件的路径(可通过//tsclient共享访问)位于剪贴板中 - 您应该能够以与任何其他共享上的文件类似的方式访问此路径下的文件。

您可能还会发现剪贴板查看器(例如这个)很有用。

于 2011-05-05T23:14:44.177 回答