粘贴网页内容时附上来源网址脚本如何改进它仅针对某一浏览器如edge Topic is solved

遇到了问题?请先进行搜索(中文和英文),然后在此提问

Moderators: tmplinshi, arcticir

minghe

粘贴网页内容时附上来源网址脚本如何改进它仅针对某一浏览器如edge  Topic is solved

19 Jul 2023, 10:49

之前在知乎上找到了这一脚本,https://zhuanlan.zhihu.com/p/19753778如最下,但是实际使用过程中发现存在几个问题
1、它的判断依据是根据复制内容是否是html格式,所以在复制word内容时也会附上来源。
2、复制非html内容时会附上前一次html内容的来源
3、有时候粘贴不会自动粘贴来源而只是输入了一个v字符(可能是程序卡顿)
自己看说明找到了一个命令可以判断是不是edge浏览器的,如下
WinGetActiveTitle, Title
Edge := " - 个人 - Microsoft"
while InStr(Title, Edge)<>0
但试了一下吧原脚本嵌入这个循环中无法正常运行,运行后马上就退出了,且这个脚本运行一次后如果当前活动窗口是edge时会一直运行,但如果不是edge后运行一次就会自动退出
想问一下有谁可以帮忙优化下这个脚本不,可以有偿服务

Code: Select all

~^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

Return to “请求帮助”

Who is online

Users browsing this forum: No registered users and 14 guests