AutoHotkeyでクリップボード変更を検知するにはOnClipboardChangeを使う。
OnClipboardChange - 構文と使用法|AutoHotkey v2
The OnClipboardChange function registers a function to be called automatically whenever the clipboard's content changes.
サンプルスクリプト
AutoHotkeyでクリップボードを監視して、変更があったらツールチップを表示する。
OnClipboardChange(ClipChanged)
ClipChanged(DataType)
{
;DataTypeが1の場合はテキストが入っている
if(DataType = 1)
{
;クリップボードの文字列の長さを取得
Length := StrLen(A_Clipboard)
;200文字以上あるなら「長いテキストをコピーしました!」と表示
if(Length > 200)
{
ToolTip("長いテキストをコピーしました!")
}
;200文字未満ならクリップボード全文を表示
else{
ToolTip(A_Clipboard)
}
}
;DataTypeが2の場合はテキストでないものが入っている
else if(DataType = 2)
{
ToolTip("テキストでないものをコピーしました!")
}
SetTimer () => ToolTip(), -1000
}
注意点
- エクスプローラーなどからファイルをコピーした場合は、DataTypeは1と扱われる(ファイルパスが入る)
- クリップボードが空になったらDataTypeには0が入る


コメント