保存并运行
动作编号: 1049
动作名称: 保存并运行
动作作用的对象: 任意窗口
动作热键: #V|IfWinNotActive|ahk_class CabinetWClass
动作鼠标手势: 无
动作说明: 将选中 Ahk 代码保存到当前用户的桌面并运行
动作截图: 无
动作内容: canfunc|CF_CopyToDesktopAndRun|CandySel_Rich
以当前剪贴板内容为参数, 执行如意的内置的函数 “CF_CopyToDesktopAndRun”, 如意内置动作
代码及详细解释:
CF_CopyToDesktopAndRun(CandySel_Rich)
{
global CandySel
if !CandySel
return
CF_HTML := DllCall("RegisterClipboardFormat", "str", "HTML Format")
n := 0
while format := NumGet(CandySel_Rich, n, "uint")
{
size := NumGet(CandySel_Rich, n + 4, "uint")
if (format = CF_HTML)
{
html := StrGet(&CandySel_Rich + n + 8, size, "UTF-8")
RegExMatch(html, "(*ANYCRLF)SourceURL:\K.*", sourceURL)
;fobj := FileOpen( A_Desktop "\123.txt", "rw", "UTF-8")
;fobj.Write(html, size)
break
}
n += A_PtrSize + 4 + size
}
SelCode := sourceURL ? ("; 来源网址: " sourceURL "`r`n" CandySel) : CandySel
if SelCode
{
Code_File:= A_Desktop "\" . A_Now ".ahk"
FileAppend, %SelCode%`r`n, %Code_File%, UTF-8
run, %Code_File%, %A_Desktop%
}
SelCode := ""
return
}