【发布时间】:2019-03-04 01:08:49
【问题描述】:
当 Windows 剪贴板有从 Evernote 复制的内容时,它会包含一个格式类型为“ENML 格式”的数据对象。例如,如果我从 Evernote Windows 版中的笔记中复制“Chirp Chirp”,我会在剪贴板上看到以下与“ENML 格式”相关的数据:
<en-clipboard Cookie="6479053"><en-note>Chirp Chirp</en-note></en-clipboard>
我有一个 C# Windows 应用程序,我想在其中生成待办事项列表项并将它们放在 Windows 剪贴板上,以便可以使用复选框将它们粘贴到 Evernote 中。 (印象笔记使用的复选框元素在 HTML 中不存在,所以我不能只将 HTML 放在剪贴板上——它必须是 ENML。)
生成 ENML 并将其放在剪贴板上很容易,但我无法让 Evernote 接受它。如果 Evernote 识别出“Cookie”编号,它似乎只会接受剪贴板中的 ENML。作为一个实验,我尝试重用我从 Evernote 中发生的复制操作中捕获的“Cookie”值,并且有了这个神奇的值,粘贴操作就成功了。但是,在现实生活中,我无法获得 Evernote 将接受的“Cookie”编号。
如果我关闭“Cookie”属性或输入随机值,粘贴到 Evernote 会失败。只有当我将“Cookie”属性设置为 Evernote 最近生成的数字时,我才能让 Evernote 粘贴我放置在剪贴板上的 ENML。但是,如果我随后退出 Evernote 并重新启动它,我粘贴的内容将再次被拒绝——我之前使用的幻数不再被接受。
我尝试不使用 <en-clipboard> 元素,只粘贴以 <en-note> 元素开头的 ENML,但 Evernote 会默默拒绝剪贴板负载。
有没有什么方法可以从 Evernote 外部将 ENML 放到剪贴板上,以便将格式化的内容粘贴到 Evernote 中? “Cookie”属性有什么用途?
【问题讨论】:
标签: c# windows clipboard evernote