区分剪贴板变化的来源
Distinguish source of the clipboard change
我想在剪贴板内容发生变化时记录下来,所以我创建了这段代码:
#Persistent
FileEncoding, UTF-8
OnClipboardChange("ClipChanged")
return
ClipChanged(Type) {
now := A_Now
FormatTime, time, now, dd.MM.yyyy HH:mm:ss
FileAppend, % Format("{} '{}'`n", time, Clipboard), D:\clipboard_log.txt
}
现在,我想忽略剪贴板被我更改的情况。我想记录仅由外部应用程序进行的剪贴板更改。我想出了一个主意:
#Persistent
FileEncoding, UTF-8
OnClipboardChange("ClipChanged")
global clipChangedByMe := false
return
ClipChanged(Type) {
if (clipChangedByMe)
{
clipChangedByMe := false
}
else
{
now := A_Now
FormatTime, time, now, dd.MM.yyyy HH:mm:ss
FileAppend, % Format("{} '{}'`n", time, Clipboard), D:\clipboard_log.txt
}
}
^c::
clipChangedByMe := true
Clipboard := ClipboardAll
return
出于某种原因,ClipChanged
行后未触发事件:Clipboard := ClipboardAll
。哪里不对?
乍一看,我在这里看到了几个问题。如果要保留 Ctrl + C 的 original function,则必须使用波浪号前缀:~^c
。其次,Clipboard
和 ClipboardAll
都是内置变量,您出于某种原因将一个分配给另一个?
更新:嗯,以下似乎有效:
Global clipChangedByMe := false
OnClipboardChange("ClipChanged")
~^c::clipChangedByMe := true
ClipChanged() {
If (clipChangedByMe)
clipChangedByMe := false
else {
FormatTime, time,, dd.MM.yyyy HH:mm:ss
FileAppend, % Format("{}`n{}`n`n", time, Clipboard), D:\clipboard.log
}
}
我想在剪贴板内容发生变化时记录下来,所以我创建了这段代码:
#Persistent
FileEncoding, UTF-8
OnClipboardChange("ClipChanged")
return
ClipChanged(Type) {
now := A_Now
FormatTime, time, now, dd.MM.yyyy HH:mm:ss
FileAppend, % Format("{} '{}'`n", time, Clipboard), D:\clipboard_log.txt
}
现在,我想忽略剪贴板被我更改的情况。我想记录仅由外部应用程序进行的剪贴板更改。我想出了一个主意:
#Persistent
FileEncoding, UTF-8
OnClipboardChange("ClipChanged")
global clipChangedByMe := false
return
ClipChanged(Type) {
if (clipChangedByMe)
{
clipChangedByMe := false
}
else
{
now := A_Now
FormatTime, time, now, dd.MM.yyyy HH:mm:ss
FileAppend, % Format("{} '{}'`n", time, Clipboard), D:\clipboard_log.txt
}
}
^c::
clipChangedByMe := true
Clipboard := ClipboardAll
return
出于某种原因,ClipChanged
行后未触发事件:Clipboard := ClipboardAll
。哪里不对?
乍一看,我在这里看到了几个问题。如果要保留 Ctrl + C 的 original function,则必须使用波浪号前缀:~^c
。其次,Clipboard
和 ClipboardAll
都是内置变量,您出于某种原因将一个分配给另一个?
更新:嗯,以下似乎有效:
Global clipChangedByMe := false
OnClipboardChange("ClipChanged")
~^c::clipChangedByMe := true
ClipChanged() {
If (clipChangedByMe)
clipChangedByMe := false
else {
FormatTime, time,, dd.MM.yyyy HH:mm:ss
FileAppend, % Format("{}`n{}`n`n", time, Clipboard), D:\clipboard.log
}
}