AutoHotKey で何かの自動処理を実行中に、ツールチップを表示させて利用者に知らせる

AutoHotKey を実行中、実行が終わったかどうかをタスクバーの常駐アイコンを見てチェックしているが、とても面倒だ。そこで、ツールチップを使って、AutoHotKey の実行中だと画面上で知らせる方法を考えた。

テストスクリプト

tooltip_cancel.ahk

解説

  • ToolTip で、メッセージと表示位置を設定する
  • CoordMode, ToolTip, Screen で、ツールチップをスクリーン上での絶対座標をとるようにする。初期状態は、アクティブウィンドウの左上からの相対座標

使い方

  • tooltip_cancel.ahk を実行すると、モニター上の左上にツールチップが表示され続ける
  • メッセージや表示座標を、用途に合わせて変更する
  • 本機能と関係ないが、ESC キーの入力でアプリを終了する機能は、動作時間の長いスクリプトでも役に立つ

AutoHotKey でウィンドウのタブを切り離して、好きな場所に移動してリサイズする

Windows で使うアプリで、タブ形式のウインドウを切り離して再配置する作業を手動で行っている。これを自動で行いたい。その方法をAutoHotKey での実装を考えた。

操作

タブをマウスで左クリックドラッグして切り離す

新しくできたウインドウを移動させて、指定のサイズに変更する

マウス操作するときに、ドラッグ開始位置とドラッグ終了位置は、「AutoHotKey でマウスカーソルの座標をリアルタイムで取得したい」を動作させて、メモする

ソース

備考

利用するアプリに、タブを切り離すみたいな操作があればそれを使っているが、タブを切り離すという発想がタブウィンドウにないためか、それができない。

AutoHotKey でマウスカーソルの座標をリアルタイムで取得したい

Widnows アプリでショートカットも指定できない、マウス操作で解決する必要がある操作で、AutoHotKey を使いたい。まず、マウスカーソル座標などを取得する方法を探った。

ソース

get_mouse_condition.ahk

使い方

スクリプトを実行すると、ツールチップで現在のマウスポインタ座標などが出るので、それをメモする

使い終わったら、常駐しているAutoHotKey  スクリプトを終了させる

追記:2020年1月29日(水)

ESC キーを押して終了したい場合は、次のスクリプトを追加する

get_mouse_condition.ahk

#Persistent の設定を追加した

AutoTotKey のHotstring で、当年の指定日の年月日(曜日)を素早く入力する

前回、今日の年月日をHotstring で素早く入力する方法を実装した。今度は、指定日の年月日を素早く入力する方法を実装する。Excel のセルに「月/日」を入力すると暦と認識される機能の応用だ。

方法

AutoHotKey のHotstring を使う

Hotstring とは

ユーザーが特定の文字列をタイプしたときに、アクションを発生させられる機能

スクリプト

my_hotstring.ahk

使い方

普段使いするなら、このmy_hotstring.ahk をランチャーに入れて実行するか、Windows のスタートアップで起動時に実行されるようにする

“t[[” と入力すると、指定日入力フォームが表示される

指定日を半角英数4ケタ”0101″ のように入力してエンターキーを押すと、”2020年1月1日 (水)” のように出力される

解説

  • 入力フォーム作成に、Gui,Add,Edit を使っている
  • フォームに入力した内容は、TargetDate に代入される
  • Gui,Add,Button で処理が実行されたらInsDateExec 関数を実行する
  • 今年の西暦年をYearString に取得
  • 入力された日付とYearString を使って、指定日の曜日を取得
  • 入力された日付とYearString を使って、年月日を取得
  • 指定日の曜日を、get_dowstr() を使って、「(月)」の形式に変換

参考

AutoHotkey の Hotstring で曜日文字列を素早く入力する
http://stakiran.hatenablog.com/entry/2018/01/19/221444

英文作成時にポンドやユーロを素早く入力したい

英文作成時にこれまで、ポンドやユーロの価格記号を漢字変換を使って入力していた。これを1秒で入力できるようにしたい。今回も、AutoHotKey のHotstringで実装した。

方法

AutoHotKey のHotstring を使う

Hotstring とは

ユーザーが特定の文字列をタイプしたときに、アクションを発生させられる機能

スクリプト

my_hotstring.ahk

 

使い方

普段使いするなら、このmy_hotstring.ahk をランチャーに入れて実行するか、Windows のスタートアップで起動時に実行されるようにする

“p[[” と入力すると、”£” のように出力される

今日の年月日(曜日)を1秒で入力する方法

今日の年月日と曜日を、指定の形式で素早く入力したい。日本語入力支援アプリGoogle IMEなら、「きょう」と入力するだけで変換候補に今日の日付が出てくる。これよりも早く、正確に今日を入力する方法を、AutoHotKey で実装した。

方法

AutoHotKey のHotstring を使う

Hotstring とは

ユーザーが特定の文字列をタイプしたときに、アクションを発生させられる機能

スクリプト

my_hotstring.ahk

使い方

普段使いするなら、このmy_hotstring.ahk をランチャーに入れて実行するか、Windows のスタートアップで起動時に実行されるようにする

“w[[” と入力すると、”2020年1月17日 (金)” のように出力される

解説

  • ::{}:: の{}部分が、反応するタイプ入力部分
  • FormatTime で今日の日付を取得している
  • 曜日は数字で返ってくる
    配列を使おうとしたがうまく使えなかったため、dowtable に1文字ずつ曜日をセットし、StringMid で指定位置の曜日文字を切り取っている

参考

AutoHotkey の Hotstring で曜日文字列を素早く入力する
http://stakiran.hatenablog.com/entry/2018/01/19/221444

編集履歴

  • get_dowstr() を引数指定で、本日以外の曜日を選べるように変更

追記

2020年11月27日 (金)

ファイル名に日付を入力して重複を避けるためのHotstring を追加した。

my_hotstring.ahk

使い方

“q[[” と入力すると、”20200117″ のように8桁の年月日が出力される