【问题标题】:How to load binary content to clipboard without anything removed or manipulated? (Autohotkey)如何在不删除或操作任何内容的情况下将二进制内容加载到剪贴板? (自动热键)
【发布时间】:2018-11-19 06:37:21
【问题描述】:

每次我尝试将二进制内容加载到剪贴板时,我都会修改(没有目的或为此添加代码)文件中存储的二进制内容(包含以前的剪贴板内容)。

二进制内容表示 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.cliptest2.clip 这两个文件(应该是一样的)。我发现每次加载 test.clip 到剪贴板后,都会删除一个二进制代码块(在文件末尾)(下图中删除的块标记为红色):

我该如何解决这个问题以加载存储在 test.clip 中的二进制剪贴板内容,而不会从实际文件内容中删除或操作任何内容?

【问题讨论】:

    标签: windows autohotkey clipboard onenote


    【解决方案1】:

    不要在这里使用%ClipboardAll%。只需使用%clipboard%

    "Clipboard 是一个内置变量,它反映 Windows 剪贴板的当前内容(如果这些内容可以表示为文本)。
    相比之下,ClipboardAll 包含剪贴板上的所有内容,例如图片和格式。"
    -https://autohotkey.com/docs/misc/Clipboard.htm

    再次引用文档,我想我看到了您的问题:“如果 ClipboardAll 无法检索一个或多个数据对象 剪贴板上的(格式),它们将被省略 但所有剩余的对象都将被存储。"

    举个例子:

    F4::
    FileAppend, %Clipboard%, clipboardcontents.clip
    FileRead, Clipboard, clipboardcontents.clip
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-01
      • 1970-01-01
      • 2012-04-12
      • 2019-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多