gpt4 book ai didi

c# - 将字节数组复制到剪贴板

转载 作者:太空狗 更新时间:2023-10-29 23:30:39 28 4
gpt4 key购买 nike

我正在尝试做一个可以共享剪贴板内容的客户端-服务器程序。

现在,无论内容类型是音频、图像还是文本,我都可以分享它。我的想法是,我将内容转换为字节数组,发送它,然后将其转换回其原始类型(StreamBitmapSourcestring ) 并使用 Clipboard.SetAudioClipboard.SetImageClipboard.SetText 方法将其注入(inject)客户端剪贴板。

我的问题是剪贴板中有一些文件。我使用 Clipboard.GetFileDropList 方法获取文件列表,对于列表中的每个文件,我将其转换为字节数组并将其发送给客户端。如何在客户端剪贴板中注入(inject)这个字节数组?

我知道有 Clipboard.SetFileDropList 方法,但它需要我提供一个文件列表,并且由于该文件在客户端上不存在,所以我无法使用它。

我该如何解决这个问题?

最佳答案

为了让客户端将文件视为可粘贴的,它们需要以某种方式存在于客户端文件系统中,因为剪贴板在设置剪贴板内容时需要一个文件名列表。

这可以通过将数据作为流传输到您的客户端,然后让客户端立即将该流解压缩到一个临时文件夹来完成,该文件夹的路径可通过以下方式获得:

var temp = Environment.ExpandEnvironmentVariables("%TEMP%");

完成并放置文件后,您可以将这些文件放置在剪贴板上,就好像它们是复制的文件一样。

请注意,支持文件复制/粘贴而不是“传输”文件的选项可能会比其他操作运行得慢得多,因为文件会变得很大。

关于c# - 将字节数组复制到剪贴板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29701491/

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