Copyheart、改版中的部分内容是内容所在的网址?

优采云 发布时间: 2021-07-14 23:08

  Copyheart、改版中的部分内容是内容所在的网址?

  作者:amnesiac 首发:官方论坛中文版

  很多朋友经常将一些网页内容提取到其他地方进行查看、编辑等,这时候往往要复制两次,一次是为了内容,一次是为了内容所在的URL。脚本比较简单,只有一个热键。当我们粘贴从网页复制的内容时,它会自动附加网页的地址。

  一、Script

  一开始我为这个功能写了一个脚本,但是有些方面没有处理好。以下脚本由Lexikos重写,比较完整,不影响其他复制粘贴操作。

  原理是从网页中复制内容时,内容实际上收录了来源,因此直接从中提取。

  ~^v::

; 最初灵感:http://ahk8.com/thread-4198.html

; 脚本来源(英文):http://www.autohotkey.com/board/topic/82393-auto-attach-its-url-when-copy-from-a-webpage/#entry525258

Sleep 100

CF_HTML := DllCall("RegisterClipboardFormat", "str", "HTML Format")

bin := ClipboardAll

n := 0

while format := NumGet(bin, n, "uint")

{

size := NumGet(bin, n + 4, "uint")

if (format = CF_HTML)

{

html := StrGet(&bin + n + 8, size, "UTF-8")

RegExMatch(html, "(*ANYCRLF)SourceURL:\K.*", sourceURL)

break

}

n += 8 + size

}

if !sourceURL

return

Clipboard := "`nSource: " sourceURL

Send ^v

Sleep 250

Clipboard := bin

return

  使用时,打开脚本照常复制,然后用Ctrl+V粘贴(鼠标粘贴无效)。

  二、实际效果

  我复制了本栏目[Others] Copyheart的部分内容,如下:

  

  

  粘贴到Word后(因为内容太宽,右边部分被剪掉了)

  

  

  可以看到文章网址自动添加到原创内容之后。以后复制网页内容(包括从浏览器复制、CHM文件等)时打开这个脚本会方便很多。

  三、小结

  脚本可以根据需要进行调整。上面的脚本中没有注释。如果有兴趣了解原理,请参考:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线