OnClipboardChange

每当剪贴板内容发生改变时, 导致指定的函数被自动调用.

OnClipboardChange Function , AddRemove

参数

Function

类型: 函数对象

要调用的函数. 函数的参数和返回值描述如下.

AddRemove

类型: 整数

如果为空或省略, 则默认为 1(在任何先前的注册函数之后调用该函数). 否则, 指定下列数字之一:

Function

函数应该接受一个参数:

FunctionName(Type)
Type

类型: 整数

下列数字之一:

返回值

如果这是最近的或唯一的 OnClipboardChange 函数, 其返回值会被忽略. 否则, 此函数会返回一个非零整数来阻止随后的函数被调用.

备注

如果剪贴板在 OnClipboardChange 函数已经运行时发生更改, 则剪贴板通知事件会丢失. 如果不希望这样, 请使用 Critical. 不过, 这样做也会缓冲/延迟 OnClipboardChange 线程运行时发生的其他线程(例如按下热键).

如果是脚本本身改变了剪贴板内容, 脚本中的 OnClipboardChange 函数或标签通常不会立即执行; 也就是说紧接在改变剪贴板函数后面的函数就像提前运行了一样. 要强制立即执行这个函数, 请在改变剪贴板内容后使用短暂的延迟, 例如 Sleep 20.

A_Clipboard, OnExit, OnMessage, CallbackCreate

示例

在每次剪贴板更改时简要显示工具提示.

OnClipboardChange ClipChanged

ClipChanged(clip_type) {
    ToolTip "剪贴板数据类型: " clip_type
    Sleep 1000
    ToolTip  ; 关闭工具提示.
}
unixetc