AutoHotkeyでクリップボード変更を検知する

日記

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が入る

コメント

タイトルとURLをコピーしました