Clipboard 如何在自动热键中不使用剪贴板粘贴文本块

Clipboard 如何在自动热键中不使用剪贴板粘贴文本块,clipboard,autohotkey,paste,Clipboard,Autohotkey,Paste,在自动热键程序中,是否可以在不使用剪贴板的情况下“粘贴”文本内容 我知道我可以简单地使用Send或模拟击键,但这会导致我的IDE的自动完成功能出现问题 我尝试使用剪贴板方法并发送“粘贴”命令,但这也会导致问题,因为我必须保存当前剪贴板内容等(太长,无法解释,与我的问题无关) 我查阅了文件,似乎找不到关于这件事的任何信息,我想知道你们是否知道答案 关于我宁愿对这个问题发表评论,但没有足够的观点 如果IDE支持代码段。也许让自动热键(AHK)在IDE中创建一个临时代码段。发送命令以插入此临时代码段,

在自动热键程序中,是否可以在不使用剪贴板的情况下“粘贴”文本内容

我知道我可以简单地使用Send或模拟击键,但这会导致我的IDE的自动完成功能出现问题

我尝试使用剪贴板方法并发送“粘贴”命令,但这也会导致问题,因为我必须保存当前剪贴板内容等(太长,无法解释,与我的问题无关)

我查阅了文件,似乎找不到关于这件事的任何信息,我想知道你们是否知道答案


关于

我宁愿对这个问题发表评论,但没有足够的观点

如果IDE支持代码段。也许让自动热键(AHK)在IDE中创建一个临时代码段。发送命令以插入此临时代码段,然后删除该临时代码段。混乱的解决方案,但可能会奏效。

(与Oq01相同,目前还不能发表评论)如果您不想使用剪贴板,因为您想还原原始剪贴板内容,您可以使用页面中的建议:将当前剪贴板内容存储在变量中,更新剪贴板,粘贴并还原原始内容


也许您的IDE支持多个剪贴板、剪贴板历史记录或标记列表,如果可以从程序中执行宏或脚本,您也可以使用它们。

在这方面,您没有很多选择,但您确实有一些选择

选项:

  • 使用存储/还原当前剪贴板
  • 使用
  • 程序的内置功能
大多数情况下,剪贴板都是一种方式,因为在使用ClipboardAll时,您不会丢失任何数据

并不是所有的程序/编辑器都允许您使用ControlSetText,所以这可能不是您可以使用的选项,但是如果您是IDE的编辑控件是标准的windows控件,您可能可以使用它

最后一个选择我不能说,因为我们不知道你试图用什么程序来做这件事


制作简单支架的教程据我所知,AHK中没有任何类型的内部剪贴板。如果您有文本以外的内容,或者想要保留格式,那么使用诸如
ControlGetText
之类的命令将会有问题

这就是我通常完成这类任务的方式

#+c::
oCB := ClipboardAll  ; save clipboard contents
Send, ^c
ClipWait,1
SplashTextOn, 160, 20, Clipboard, New Clipboard Copied
Sleep 2000
SplashTextOff
Return
                ;Now, pressing Control-V pastes the new text, and can be used as often as desired


#v::                ;And pressing Windows-V copies the old back to the clipboard
ClipBoard := oCB            ; return original Clipboard contents
ToolTip, Old Clipboard `nRestored
Sleep 1000
ToolTip
oCB :=                  ;Clears variable
Return
这也是林惇主义者所指的。但是通过使用变量
ClipboardAll
您应该能够将任何内容保存到剪贴板,包括格式、图像等。 有关此命令的更多信息,请查看。
另外,在自动热键论坛上向pajenn大声喊出这段代码的种子

无法按片段方式执行,因为我正在尝试粘贴整个代码块/函数/类。。不仅仅是几行..而且我想粘贴的内容也不是全部都在代码段中得到支持。。无论如何,我真的需要“粘贴”一个内部声明的剪贴板,也许?不知道是否有答案,你会想解决剪贴板保存问题,然后用它来代替。您可能需要使用ClipboardAll进行完全恢复,而不仅仅是使用剪贴板进行纯文本恢复。ClipboardAll将保留所有数据,因此如果操作正确,则不会出现任何问题。