情報科学屋さんを目指す人のメモ(FC2ブログ版)

何かのやり方や、問題の解決方法をどんどんメモするブログ。そんな大学院生の活動「キャッシュ」に誰かがヒットしてくれることを祈って。

ブログ内検索

スポンサーサイト このエントリーを含むはてなブックマーク

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
スポンサー広告 | 編集

AutoHotkeyでウェブブラウザごとに動作を変更する方法 このエントリーを含むはてなブックマーク

AutoHotkeyでウェブブラウザを指定した命令を書く方法をメモ。

基本的なやり方は「AutoHotkeyでWindow TitleとWindow Classの同時指定を行う方法」に書いてあるので、ここでは「Window Title」と「Window Class」の一覧を書きます。また、下のコードはWindow Titleの部分一致を使っているので、リンク先を参考にして「SetTitleMatchMode,2 」を記述してください。

Internet Explorer

#IfWinActive - Windows Internet Explorer ahk_class IEFrame
;(Internet Explorer用のスクリプト記述)

Chrome

#IfWinActive - Google Chrome ahk_class Chrome_WidgetWin_0
;(Chrome用のスクリプト記述)

Firefox

#IfWinActive - Mozilla Firefox ahk_class MozillaUIWindowClass
;(Firefox用のスクリプト記述)

Opera

#IfWinActive - Opera ahk_class OperaWindowClass
;(Opera用のスクリプト記述)

ブラウザのバージョンが変わることで変わっちゃうことがあるかもしてません。そんなときはWindowSpyで調べましょう

スポンサーサイト
AutoHotkey | コメント:2 | トラックバック:0 | 編集

AutoHotkeyでマウスカーソルを操作してツイートボタンを押す方法 このエントリーを含むはてなブックマーク

tweetbutton.png

今回は、マウスカーソルを操作して、TweetDeckのボタンをクリックする方法をメモしておきます。

「現在のマウスカーソルをツイートボタンへ移動→クリック→元あった位置にマウスカーソルを戻す」を高速で行うことで実現します。GUIの操作をショートカットキーに割り当てる原始的な方法というか力業ですね。

AutoHotkey | コメント:0 | トラックバック:0 | 編集

ひらがなカタカナキーをF21キーに変更 このエントリーを含むはてなブックマーク

AutoHotkeyのスクリプトを書いていると、ひらがなカタカナキーがDownされたっきりUpされないという事態に。そこで、「ChangeKeyを使用してWindowsキーをF13キーに変更する方法」を利用して、ひらがなカタカナキーをF21キーにして問題解決。

ちなみに、キーの履歴を見ると、ひらがなカタカナキーとして「vkF0sc070」と「vkF2sc070」が表示されており、UpとDownで異なる表示がされていました。ここらへんが何か関係あるのかも。

このキーと同じように、CapsLock、半角/全角も扱いにくいキーですが、ChangeKeyで他のキーと置き換えてからカスタマイズする分にはそれほど問題にならない、はず。

AutoHotkey | コメント:2 | トラックバック:0 | 編集

AutoHotkeyを始めるなら最初にこれを書いておこう このエントリーを含むはてなブックマーク

AutoHotkeyを使っていると、いろいろなところでやたらとつまづくのですが、その回数を抑えるために役立つであろうコードを貼っておきます。

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
SetTitleMatchMode,2
#InstallKeybdHook
#UseHook

「#InstallKeybdHook」と「#UseHook」この二つを書いておくことが重要。とりあえず書いておいた方がまし。無い方がよいと分かって初めて取り除けばいい。細かい理由は忘れたけど、なんだかんだで書いておいた方が良いという結論になったので

追記(2011/05/13)

理由について思い出したので追記

#InstallKeybdHook

#InstallKeybdHookを書いておくと、まず、キーの入力履歴が見れるようになって、デバッグ上便利。それと、たしかCtrlキーなどの修飾キーが押しっぱなしになることを防いでくれる(その代わり、ホットキーをすり抜けてしまうことがある)

#UseHook

#UseHookが無いとき何が起こるか。ホットキーラベルからSend ^cなどを送るとき、その送りたいキーの組み合わせがホットキーラベルとして定義されているとそちらが優先されてしまい、単純な場合はAHKで無限ループ、複雑な場合だとAHK越しにホットキーをアプリケーションに送るときに制限が発生してしまう。

AutoHotkey | コメント:0 | トラックバック:0 | 編集

AutoHotkeyで変数名を組み立てて変数の中身を取得するちょっと不思議な方法 このエントリーを含むはてなブックマーク

StringTrimLeftのちょっと不思議な使い方を紹介。

使い方

使い方だけ書くと次の通り。

StringTrimLeft, 格納先変数名, アクセス先変数名をここで作る, 0

こうすることで、自分で作った変数名の中身にアクセスすることが出来ます。以下では、配列の末尾にアクセスする例を紹介します。

使用例:コンビネーションキーのpostfixキーを取得する

「a & b::Msgbox, % get_postfix_key()」を実行して「b」と表示される関数「get_postfix_key()」を作ります。

get_postfix_key()

簡単に作ると次のようになります。

get_postfix_key()
{
	StringSplit, hotkey_array, A_ThisHotkey, %A_Space%&%A_Space% ; (1)
	StringTrimLeft, postfix_key, hotkey_array%hotkey_array0%, 0 ; (2)
	Return postfix_key ; (3)
}

(1)で、トリガとなったホットキー(A_thisHotkey)を「 & 」で区切って配列「hotkey_array」に保存します。こうして、配列の0番目には配列の長さが、1番目にprefixキーが、2番目にpostfixキーが格納されるので、必要な2番目を取り出します。

配列から値を取り出す方法

ここで、2番目を取り出したいわけですが、AutoHotkeyでは、配列「hotkey_array」の2番目の要素は「hotkey_array2」にアクセスすることで取得します。つまり、変数名を作成してからアクセスする必要があります。そこで便利なのがStringTrimLeftで、(2)の行では、「hotkey_array%hotkey_array0%」によって、「hotkey_array2」という変数名を作成してから、その内容をpostfix_key変数へ丸ごとコピーしています。非常にトリッキーですが変数名を格納する変数をわざわざ作る必要が無くて便利です。

最後に、その内容をReturn文で返して完了です。

参考

おすすめキーボード Realforce
プログラマ御用達キーボード PFU Happly Hacking Keyboard

AutoHotkey | コメント:0 | トラックバック:0 | 編集
 | HOME |  OLD >>
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。