我每次尝试将其加载到剪贴板时,都会修改存储在文件中的二进制内容(包含以前的剪贴板内容)(无目的或为此添加代码)。
二进制内容表示复制到剪贴板的OneNote上的有组织段落。为了以后能够使用,我使用以下方法将剪贴板二进制内容保存到test.clip文件中:
FileAppend, %ClipboardAll%, C:\My\Path\test.clip
然后当我尝试使用以下方法将二进制文件test.clip内容检索到剪贴板时
FileRead, Clipboard, *c C:\My\Path\test.clip
并粘贴到OneNote,我从之前复制的段落中获取不完整的段落并保存到二进制文件中。
我尝试在加载此文件后检查旧二进制文件test.clip
与剪贴板内容之间的区别。我在检索test.clip之后将新的剪贴板内容保存到test2.clip,以检查是否有操作或不使用的东西:
FileRead, Clipboard, *c C:\My\Path\test.clip
FileAppend, %ClipboardAll%, C:\My\Path\test2.clip
我比较了两个文件test.clip和test2.clip(预计它们是相同的)。我发现每次加载test.clip到剪贴板后都会删除一个二进制代码块(在文件的末尾)(删除的块在下图中标记为红色):
我如何修复这可以加载存储在test.clip中的二进制剪贴板内容,而不会从实际文件内容中删除或操作任何内容?
答案 0 :(得分:0)
不要在这里使用%ClipboardAll%
。只需使用%clipboard%
。
" 剪贴板是一个内置变量,它反映了Windows剪贴板的当前内容,如果这些内容可以表示为文本。
相比之下, ClipboardAll 包含剪贴板上的所有内容,例如图片和格式。"
- https://autohotkey.com/docs/misc/Clipboard.htm
再次从文档中引用,我认为我看到了您的问题:" 如果ClipboardAll无法在剪贴板上检索一个或多个数据对象 (格式),它们将被省略 ,但所有剩余的对象都将被存储。"
举个例子:
F4::
FileAppend, %Clipboard%, clipboardcontents.clip
FileRead, Clipboard, clipboardcontents.clip