gpt4 book ai didi

.net - 从远程桌面中运行的应用程序,如何以编程方式获取已复制到客户端剪贴板的文件并将其保存到磁盘

转载 作者:行者123 更新时间:2023-12-04 08:33:51 25 4
gpt4 key购买 nike

这是场景:

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

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

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

最佳答案

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

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

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

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

关于.net - 从远程桌面中运行的应用程序,如何以编程方式获取已复制到客户端剪贴板的文件并将其保存到磁盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5905059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com