タグ

ブックマーク / morakana.hatenadiary.org (3)

  • (AutoHotkey)(API関数の SetTimerで コールバック関数を使った タイマー処理をしたい 編) - もらかなです。

    この記事『API関数の SetTimerで コールバック関数を使った タイマー処理をしたい 編』に一部間違いがあるので その事を訂正している 関連記事:『AutoHotkeyのタイマーについて 編』 http://d.hatena.ne.jp/morakana/20080222/1203656671 もあわせて ご覧になってください AutoHotkeyには 最初から SetTimerコマンドが用意されています これは 気軽に使えて便利なのですが ひとつのスクリプトの中で 一つしか使えません まぁ 普通の場合は 一つあれば十分かもしれませんが 明らかに違うタイミングで発動させたい複数個のタイマーを動かしたいと思った時はお手上げになります ということで それを解決するには API関数を使う事になるわけですね ただし API関数で タイマー処理をする場合 「コールバック関数」が必要になる場合が

    (AutoHotkey)(API関数の SetTimerで コールバック関数を使った タイマー処理をしたい 編) - もらかなです。
  • (AutoHotkey)(POINT構造体 の 値を取得してみる 編) - もらかなです。

    元々 AutoHotkeyには MouseGetPosがあるので マウスカーソルの位置を取得する術はあるわけですが 「あくまで シンプルな例を提示する」のが 今回の目的なので あえて API関数のGetCursorPosを使う事にします API関数のGetCursorPos は 呼び出すと POINT構造体に 値をセットする仕様なわけですが AutoHotkeyには 構造体を定義する方法がありませんので 他の言語で 一般的に行われているような 構造体へのアクセスの仕方は 今のバージョン(v1.0.47.05)では 出来ません 早く実装されればいいんですけどねぇ 笑)、 みんなで せかしまくるんだ!! 笑) というワケなので 構造体のような 代替品を 用意してあげる必要があるわけなんですが 今回は 構造体のようなものを作るために AutoHotkey の VarSetCapacity関数を利

    (AutoHotkey)(POINT構造体 の 値を取得してみる 編) - もらかなです。
  • (AutoHotkey)(IMEの制御をする 編) - もらかなです。

    やはり IMEの制御は時として重要です AutoHotkeyから キー入力を Sendしてみたら IMEがオンになっていて 思うように動かなかったというケースは少なくないでしょう 要は IMEを制御できればいいんですよね、 その処理を 関数化してしまいましょう まずは あるウインドウの IMEが ONか OFFか を調べる 関数ですね []IME_IsON(hWindow)[] []{[] [] ; WM_IME_CONTROL = 0x0283[] [] ; IMC_GETOPENSTATUS = 0x0005[] [] bufCurrentDetectMode := A_DetectHiddenWindows[] [] DetectHiddenWindows, On[] [] buf := DllCall("user32.dll\SendMessageA", "UInt", DllCa

    (AutoHotkey)(IMEの制御をする 編) - もらかなです。
  • 1