文字・フォント・プログラム・技術・趣味などについて、Twitterでは書きづらい長い内容などをまとめるためのブログです。基本的には自分用のメモとして書いている部分が多いです。 リンク等 note https://note.com/nixeneko 残らなくてもいい記事 Pixiv Fanbox https://nixeneko.fanbox.cc/ 活動まとめと有料の週報(大したこと書いてないが…) Pixiv https://pixiv.me/nixeneko 絵 Pleroma @nixeneko@nixeneko.info Mastodonとかやってる人はフォローしてください Bluesky @atproto.nixeneko.info 時々見る Twitter @nixeneko 最近あんまり使ってない GitHub https://github.com/nixeneko プログラ
最終更新日:2017/12/23 目次 はじめに オブジェクト オブジェクトの基本 オブジェクトの種類 基本的な使い方 配列 連想配列 その他 オブジェクト 既知の制限 オブジェクトの開放 備考 構文 キー Tips(応用的な使用法) 関数の参照 配列の配列(多次元配列) 関数の配列 カスタムオブジェクト はじめに その1のコピペ 翻訳とかあんま得意じゃないんだけど 間違いあったらコメくれれば訂正します。というか自分も間違えて覚えてしまうから(´・ω・`) 一応各説明ごとに例は必ず一つ入れている 手抜きだからかなり見にくいかも 定期的に修正入ると思う 参考:ahkwiki日本版様及び公式ヘルプ オブジェクト オブジェクトの基本 AutoHotkeyのオブジェクトは、以下の3つの基本機能を提供する抽象データ型だってさ 値の取得 値の設定 メソッド(つまり、対象オブジェクトで何かを行う関数)を
UIPIの制限を回避するため、常駐AHKは管理者権限で実行しているのだが、それゆえにRunした時に不要な特権が付与されてしまう。それを回避する手段はいくつかあるものの、どれも一長一短で、最終的に「一般権限の常駐AHKにプロセス間通信でパスを送ってRun」に行きついた。最初からそうしとけって話だが、旧人類なので常駐増やしたくないのだ! Receive2Run.ahkを一般権限で常駐させて、管理者権限AHKからRunNEXすれば、R2Rが代わりにRunしてくれる。 "|"はEverythingにクエリ送るとき使ってたので、区切り文字はAHKらしく"`n"にした。 ; 管理者権限のAHKに書くやつ RunNEX(Cmdline, WorkDir = "", Opt = "", ByRef Pid = "") { SetTitleMatchMode 2 DetectHiddenWindows On
作りっぱでほかしてあったやつ。ちょっと前に AutoHotKey Threadでダブルクリック検知についてのレスがあったので出してみる。 トリプルとかクワクトブル(でいいのか?)クリックとかも検知したくて作ってみたやつです。 MultiClickCheck(button,MaxCount=2,timout=0) 割と厳密な多重クリックチェック ;てきとうなダブルクリックチェック例 ;Rbutton Up:: WClick_test: WClickTime := DllCall("User32.dll\GetDoubleClickTime",Int) if (A_PriorHotkey = A_ThisHotkey) && (A_TimeSincePriorHotkey < WClickTime) { ;ダブルクリック時処理 } else { ;シングルクリック時処理 } return Mu
この中の「D」と「L」に関しては、以下で解説していきます。 DオプションKeyWaitは基本的にキーが「離される」のを待つコマンドですが、Dオプションはそれを「押される」のを待つコマンドに変更します。 これを指定することで「あるキーの2度押しを検知する」ことや「あるキーを長押しした後、他のキーが押された場合のみ機能を発動する」といったことも可能になります。例を見てみましょう。 F15:: KeyWait, F15, T0.3 If (ErrorLevel){ KeyWait, F15, D, T0.3 ;もう一度F15が押されるのを0.3秒待つ KeyWait, vk1D, D ;無変換キーが押されるのを待つ Send,おっす。オラ悟空 KeyWait, vk1D return }4行目ではF15がもう一度押されるのを待機しています。これを使うとキーの2度押し、3度押しに対応したホットキー
この記事『API関数の SetTimerで コールバック関数を使った タイマー処理をしたい 編』に一部間違いがあるので その事を訂正している 関連記事:『AutoHotkeyのタイマーについて 編』 http://d.hatena.ne.jp/morakana/20080222/1203656671 もあわせて ご覧になってください AutoHotkeyには 最初から SetTimerコマンドが用意されています これは 気軽に使えて便利なのですが ひとつのスクリプトの中で 一つしか使えません まぁ 普通の場合は 一つあれば十分かもしれませんが 明らかに違うタイミングで発動させたい複数個のタイマーを動かしたいと思った時はお手上げになります ということで それを解決するには API関数を使う事になるわけですね ただし API関数で タイマー処理をする場合 「コールバック関数」が必要になる場合が
Autohotkeyで#If GetKeyStateが使えると、このキーを押しながら…という操作を加えることができるため、ホットキーの登録数を格段に増やすことができます。 つまり、いままでは無変換キー+a~zやctrl+alt+a~zキー、少し押しにくくなりますがF1+a~z、など、ファンクションキーを含めても2030通りしかホットキーが登録できなかったのが、#If GetKeyStateを使うことで、全てのキーを最初に押しながら~という操作ができるようになり、+8030通り以上のホットキーが登録できるようになるわけです。しかも押しやすい。バグらない。 では、コードです。 注意点として、2点。 READMEの通り、”a”をプレスしながら、“spaceキー”を押して、”ee”と入力することでEvernoteをアクティブウィンドウできます。 ウィンドウをアクティブにするものなので、ウィンドウは
iPad用の液晶パネルを使って、外付けディスプレイを作るというのが2014年頃に流行りましたね。定番となっているAbuseMarKの基板ではボタン操作で輝度を変更することが... 続きを読む 制御ソフト「DPiPad」 ※ iPadモニターをPCに接続するために、AbuseMarK製変換基板を使っている場合にのみ使える方法です。現在日本でiPad外付けモニターを使っている人はほとんどAbuseMarK製を使っていることと思います。 このソフトは、接続されているiPadモニターを制御します。 できる機能はスクリーンショットで見たとおり、バックライトの点灯/消灯、Displayportの接続/切断、輝度の変更と保存です。 バックライトの消灯は暗くなるだけです。 Displayportを切断するとWindowsからはモニターとして認識しなくなるため、Displayportケーブルを外したときと同
Node.jsでAutohotkeyプログラムが書けると、他のライブラリ、例えばウェブサーバーのExpress.jsや、WebSocketなどnode.jsの便利なライブラリと統合して、 フレキシビリティの高いプログラミングを行うことができます。 以下は下記の関数を定義してから実行できるコードの例です。 このコードではシンプルに、マウスクリックをして→”hoge hoge”とキーボードタイピングする、という動作を行います。 await ahk({program: `MouseClick, left`}); await ahk({program: `send, hoge hoge`}); 今回は特にこれといったnode.jsのためのautohotkeyラッパーライブラリを使う、といったことはせず、シンプルに手軽に使える関数を定義してみます。 以下は軽く書いてみたコードです。 const fs
エクスプローラで「カレントフォルダ/選択ファイルのフルパスをコピー」「選択アイテムを上のフォルダへ移動」「選択フォルダの中身を吸い上げる」のみっつを実現してみた。アンドゥ/リドゥ対応。 $F12:: PathList := GetSelectItemPath() if PathList { SplashView(PathList) Clipboard := PathList } else { WinGetText, CurPath, A RegExMatch(CurPath, "([A-Z]:\\[^\r\n]*)", $) SplashView($1) Clipboard := $1 } return ^u:: PathList := GetSelectItemPath() if !PathList return Loop, Parse, PathList, `n, %A_Space%%
AutoHotkeyを使えば()や「」を一発で簡単に入力できるのは皆さんご存知の通り。例えば、 vk1C & 8:: Send, () Send, {Left} Return 一番簡単なのはこんな感じ。変換+8をトリガーとして、“()”を出力した後、カーソルが()内に移動します。でもこれじゃ動作の安定性に欠け、全く実用的ではありません。ならこれは? vk1C & 8:: backup := ClipboardAll ClipWait, 2 Clipboard := "()" ClipWait, 2 Send, ^v Sleep,60 Clipboard := backup Send, {Left} Return なるほど。クリップボードや変数を使えば、出力する文字やIMEの状態に関わらず、毎回同じ文字を出力できます (Clipboardなどのコマンドについては以下で解説しています)。
B! 2 0 0 0 AutoHotkeyの中で素早く2回キー入力した時に特殊な動作を割り当てたい時に 使える方法について AutoHotkeyで短い連続入力を認識させる方法 AutoHotkeyで短い連続入力を認識させる方法 WindowsでどこでもVimをエミュレート出来るようにする vim_ahkでもらったPull Requestで教えてもらった方法です。 jj instead of Esc by satsaeid · Pull Request #12 · rcmdnk/vim_ahk 以下の様な設定を読み込むとJJと素早く 二回入力した時にjj!というメッセージが出ます。 ~j up:: Input, jout, I T0.1 V L1, {j} if(ErrorLevel == "EndKey:J"){ SendInput, {BackSpace 2} MsgBox, jj! }
テキストファイルに保存して includeするなり .ahkファイル内にコピペするなりで使ってください < ここら辺が投げやり まぁ依存関係のある関数があるから includeするほうが面倒無いかも・・・ 突然何事かと思ったかもしれませんが 今日 久々に ちょっとだけ AutoHotkey のファイルをいじったので 衝動的に書き込んだだけです 笑) ; CharLower(ByRef Expression) 文字列変数内 の 大文字を 小文字に 置き換えてしまう、 2バイト文字も可能 ; CharUpper(ByRef Expression) 文字列変数内 の 小文字を 大文字に 置き換えてしまう、 2バイト文字も可能 ; DiscEject(DriveName, LimenTime = 1000) CD/DVDドライブを開閉する ; E2D(Expression, BufferSize
先日のほんまかいで、ちょっと思いついてcodeを書いてみましたので紹介したいと思います。 何をするものかというと、無変換キーと、”[”を押すと、以下の様なメニューが表示されます。 メニューには幾つも項目がありますが、 上半分程が、全角の括弧の開くと閉じるを入力後キャレットを括弧の真ん中に移動するというもの、 下半分が、選択された文字列を、様々な括弧で囲むというものです。 CATツールでも、メーラーでも、何にでも利用できるというのはやっぱり良いですね。 以下は、そのコードです。 ; メニューの作成 ;Menu, メニューのID, Add, メニュ―のテキスト, 発動するコマンド名 Menu, kakko, Add, 【】を挿入, Command1 Menu, kakko, Add, 「」を挿入, Command2 Menu, kakko, Add, 『』を挿入, Command3 Menu,
概要 † AutoHotkeyを流行らせるページより~ AutoHotkeyはホットキーへの機能の割り当てなど常駐ソフトの作成に特化したスクリプトエンジンである。 多彩なコマンドが用意されており、GUIを持ったプログラムの作成も可能。 GNU GENERAL PUBLIC LICENSE Version 2の下で配布されるフリーソフトで、C++で作られている。 公式サイト(http://www.autohotkey.com/)にて、インストーラー版とZIPアーカイブ版の2種類が配布されている。 インストーラーを実行すると、スタートメニュー、新規作成メニュー、関連付けに変更が加えられる。 自動化 - 所謂マクロ。 ホットキー - スクリプトを常駐、特定のキーやボタンが押されたときにひとつ、あるいは複数の機能を割り当て。 Hotstring - 日本語での利用には多少工夫が必要。 GUI -
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く