这是场景:
- 用户在运行 Windows 2008 Server R2 的服务器上打开远程桌面会话。
- 远程桌面会话不使用映射驱动器,但启用了剪贴板共享。
- 用户在远程桌面会话中启动 MyApplication。
- 用户在客户端计算机上打开 Windows 资源管理器并将文件复制到剪贴板。
- 在 MyApplication(在远程桌面会话中)用户单击“保存文件”按钮。
- MyApplication 从剪贴板获取文件并将其保存到服务器上的某个目录。
MyApplication 是一个旧的 vb6 应用程序,但可以在 .Net 中实现它并通过 com interop 使用它。我们已经尝试过 vb6 中的 Clipboard 类和 .Net 中的 Systems.Windows.Forms.Clipboard 类。无论哪种情况,剪贴板上似乎唯一的东西就是客户端计算机上的文件路径。这没有用,因为代码在服务器上运行,我们需要从服务器获取文件。
我们还确认,当我们手动将文件粘贴到服务器上的 Windows 资源管理器(通过远程桌面)时,这确实有效。我们确实找到了一些示例来展示如何通过在客户端上运行另一个程序来做到这一点,但这不是我们的选择。这只能在远程桌面上工作。任何帮助、代码示例、文档链接等将不胜感激。