如何防止从 OneNote 复制的文本粘贴为图像

Wou*_*ter 5 clipboard copy-paste microsoft-onenote

从 OneNote 复制文本时,它也会作为图像出现在剪贴板中。(内容以各种不同的格式类型保存在 windows 剪贴板中)某些应用程序在粘贴时使用图像版本,导致粘贴的文本以图像形式出现。

Microsoft 支持页面上有一些开放的支持票,但似乎没有功能/错误修复正在进行中。

自我回答的问题......但欢迎更好的解决方案。

Wou*_*ter 5

我通过编写以下 AutoHotkey 脚本来解决这个问题

$^c::
Send ^c ; Do a normal copy to clipboard
sleep 100 ; Wait for the copy to finish
WinGet current_application, ProcessName, A ; Get the name of the current application

; if the application is OneNote, and the copied content is text ...
if ((current_application = "ONENOTE.EXE") && DllCall("IsClipboardFormatAvailable", "uint", 1)) {
    clipboard = %clipboard% ; remove the formatting
}
Return
Run Code Online (Sandbox Code Playgroud)

该脚本检测当前应用程序以及正在复制的内容类型。如果从 OneNote 复制文本,它会将文本作为纯文本存储在剪贴板中,删除其他类型,从而使其他应用程序中的粘贴按预期工作。

与其他解决方案(使用 Ctrl-V 时删除格式)相比,此脚本的优点是在 Word 中复制粘贴文件/图像/格式化文本不会中断。