XREA.COM Logo XREA.COM Ad

BBS

メニュー

  1. スクリプト質問スレッド (229)
  2. 管理人の雑記 (109)
  3. このサイトの更新履歴 (5)
  4. バージョンアップしたら上げるスレ (19)
  5. 無変換キーを鬼のように使い倒すスレ (8)
  6. スクリプト投稿スレ (125)
  7. FAQのスレ (3)
  8. 点呼スレ (27)
  9. test (23)
  10. 旧雑記サルベージ (118)
  11. misc (86)

1. スクリプト質問スレッド

1 名前:管理人 ★:04/09/21 20:01 ID:???
質問が多いので独立させます

状況や実現したいことは出来るだけ具体的に書いてください。

スクリプトがうまく動かないなどの問題の場合、問題のあるスクリプトの内容や
エラーメッセージの内容を併記してください。
221 名前:unnamed.ahk:2008/03/09(日) 01:21:39
MouseGesture2を愛用しています。
気になった点をいくつか。

MG_Edit.ahkでの条件定義で「どれかに一致」しか選べないように思います。
ini書き換えで対処してもMG_Editで編集してしまうと「And=1」の行が削除されてしまうようです。

8方向モードの場合MG_Edit.ahkでの設定時にDir6:からDir9:までがずれて(6-9が5-8へ)設定されるようです。

アクティブウインドウを切り替えたときジェスチャーがアクティブなウィンドウではなく
アクティブだったウィンドウに送られることがあるようです。
MG_GetMousePosInfo()をMG_TriggerDown()、MG_TriggerUp()、MG_GetMousePosInfo()内に
適当に追加して対処しています。
(以下省略)
222 名前:unnamed.ahk:2008/03/09(日) 01:24:46
訂正
× MG_GetMousePosInfo()内に
○ MG_ButtonPress()内に

失礼いたしました。
223 名前:unnamed.ahk:2008/03/13(木) 03:36:19
MouseGesture.ahkではアクティブウィンドウに関係なくジェスチャ開始時点でのカーソル下ウィンドウをターゲットとみなす仕様
224 名前:unnamed.ahk:2008/03/13(木) 22:17:11
確認をお願いした部分が完璧に修正されてました。感激です。
それ以上にさまざまな進化をしていて驚きです。
ありがとうございました。
225 名前:unnamed.ahk:2008/04/04(金) 12:45:08
shift押下でA
Shift離して、A,Aと打つようなスクリプトはどう書けばいいのでしょうか?
226 名前:unnamed.ahk:2008/04/14(月) 18:57:15
特定アプリの特定ボタンを押下できないようにしたい。
ボタンの特定までは出来たんだけど、無効化できないです。


~LButton::
~Space::
~Return::

winclass = #32770
ctrlclass = Button52

IfWinActive, ahk_class %winclass%
(以下省略)
227 名前:unnamed.ahk:2008/04/15(火) 15:52:42
ボタンを無効化するコマンドあるべ?
228 名前:unnamed.ahk:2008/04/16(水) 00:58:51
Controlですね。ありがとうございます!

#Persistent
wintitle = hogewin
ctrlclass = ButtonTako
Control, Disable , , %ctrlclass%, %wintitle%
229 名前:unnamed.ahk:2008/05/07(水) 00:34:48
AutoHotkey始めて1週間ですが、
例えば、スクリプトに

a::b

とだけ書いて、Alt+aの操作をするとき(Alt押す→a押す→a放す→Alt放す)、
Altを放そうとするとなぜか直前か直後にCtrlダウンアップが割り込む。v1.0.47.06で確認。
(v1.0.39.00だとエラーでスクリプトを実行できない)

これはバグなのでしょうか?

WinXPHomeSP3RC1、AHKは1.0.47.06と1.0.39.00のzip版です。

名前: E-mail: ファイル:

2. 管理人の雑記

1 名前:管理人 ★:06/04/30 20:55 ID:???
雑記サイト移転に伴い、AutoHotkey関係はこっちに書くことに。
101 名前:管理人 ★:2008/03/01(土) 11:54:34
マウスジェスチャ2 チルトとかのための機能を追加
http://lukewarm.s101.xrea.com/myscripts/MouseGesture.html

マウスの左右チルトにジェスチャを割り当てたい。
しかし、従来の仕様では、ボタンを押している間中PostMessageし続けるというようなことが出来ない。
そこで、トリガが放されるまでタイマーでジェスチャサブルーチンを呼び出し続けるMG_While()関数を追加した。
トリガが放されたときに一度だけ別の動作を実行させたり、押し下げ・押し上げ時のみ実行する機能も付けた。

この関数により、WM_HSCROLLを繰り返しPostMessageさせることで、チルト風の動作を実現できるようになった。
更に、「右ボタンを押しながらチルト」や「タイトルバー上でチルト」など、様々な操作にスクリプトを割り当てられる。
設定の仕方が多少ややこしいが。
102 名前:管理人 ★:2008/03/10(月) 04:06:49
本体がv1.0.47.06になって、動的関数名による呼び出しが追加されたことで、>>96のモジュール機構が実現しやすくなりそうだ。
だが、不特定のスクリプトファイルを#Includeする方法がないと、設定スクリプトで動的にスクリプトを生成しなければならないことには変わりない。
ワイルドカードによる一括#Includeなどが欲しいところだ。
関数が存在しているかどうかのチェックも今の所用意されていないが、下記のようにすれば代用は出来そうだ。
IsFunction(n){
return p:=RegisterCallback(n) && !DllCall("kernel32.dll\GlobalFree","UInt",p,"UInt")
}
103 名前:管理人 ★:2008/03/13(木) 00:50:00
MouseGesture.ahk 画面端接触認識機能を追加
http://lukewarm.s101.xrea.com/myscripts/MouseGesture.html

画面端はOrchisで使っているので自分では使わないだろうけど作ってみた。

認識処理自体は、SysGetで画面サイズを取得し、タイマーでカーソル位置を監視するだけで出来た。

画面端接触をボタンとして定義し、「画面上端でカーソルを左に移動」とか
「画面左端で右クリック」という操作も定義できるように。
その為、「画面端への接触」は接触した瞬間に発動する。
一定時間触れ続けたときに発動させたければ、「MG_Timer()」を使えばいい。

(以下省略)
104 名前:管理人 ★:2008/03/13(木) 08:00:24
MouseGesture.ahk カーソル下ウィンドウではなくアクティブウィンドウをターゲットにするオプションを追加
http://lukewarm.s101.xrea.com/myscripts/MouseGesture.html

一応付けた。
ホイール操作やキーボード操作はアクティブウィンドウに送られるのが普通だから、
こちらの仕様の方が一貫性という面では正しいような気もする。
というか、非アクティブなウィンドウがターゲットのとき、Sendが正しく動かない。
ControlSendだと、プログラムのキー操作認識方法によっては動作しないし、困ったもんだ。
105 名前:管理人 ★:2008/03/13(木) 08:03:46
これで右ボタンを押した時点でアクティブ化させれば大体何とかなるか

[Gesture_Start]
G=RB_
Default=WinActivate
106 名前:管理人 ★:2008/03/13(木) 20:04:57
MouseGesture.ahk スクロール機能追加
http://lukewarm.s101.xrea.com/myscripts/MouseGesture.html

IEのホイールクリックのやつみたいなのがあれば便利かもと思い作ってみた。
ジェスチャ開始位置からの相対距離に応じてスクロールする。
MG_While()と組み合わせて、ボタンを押している間繰り返し実行することで使う。
IEの場合、ホイールボタンを放すことによって開始され、解除するのにもう一度クリックが必要だが、
こちらはボタンを放せばすぐに停まるので使いやすいかも知れない。

ついでに、JaneStyleのビューアとかにあるドラッグスクロールも作ってみた。
WM_[H|V]SCROLLは、コントロールが定めた単位でスクロールするため、
1単位とピクセルを正しく対応させるのが難しい。
(以下省略)
107 名前:管理人 ★:2008/03/15(土) 11:24:12
違った、IEもホイール押しっぱなしでカーソルを移動すると押してる間だけスクロールする。
ホイールだから押しづらいが。
108 名前:管理人 ★:2008/04/01(火) 00:05:30
「AutoHotkeyを廃れさせるページ」にて、JavaScriptベースのAutoHotkey風スクリプトユーティリティ「JHK」のテスト版を公開
http://lukewarm.me.land.to/

かねてからAutoHotkeyの行き当たりばったりに拡張されてきた言語仕様には辟易していたので、
JavaScriptエンジンを利用してAutoHotkey風のツールを作ることに。
SpiderMonkeyを使おうかと思ったが、なにやら面倒くさそうだったので、
とりあえずWindowsScriptControlを使う。
ホットキー割り当てとキー操作の送信などの機能を実装してみたところ、それなりに動作するようになった。
スクリプトコントロールのリファレンスやサンプルが少なくて、
エラー関連の動作などがよく分からずに困ったが、とりあえず何とかなった。

ホットキーに動作を割り当てるスクリプトは、以下のような感じになる。
(以下省略)
109 名前:管理人 ★:2008/04/02(水) 01:53:17
JHKはエイプリルフールのネタである。
ActiveX.ahkを使って、AutoHotkeyで実装した。

名前: E-mail: ファイル:

3. このサイトの更新履歴

1 名前:管理人 ★:2007/10/31(水) 20:29:15
2007/07/02
日本語説明をv 1.0.47.00に対応させた

2007/07/03
My ScriptsのActiveX.ahkをイベントの接続に対応させた

2007/10/20
My Scriptsに、大幅に機能追加した新マウスジェスチャスクリプトを追加

2007/10/31
更新履歴をここに移転
2 名前:管理人 ★:2008/01/23(水) 21:38:41
FAQのスレ
http://lukewarm.s101.xrea.com/test/read.cgi/bbs/1200674082/
立てた。
後はよろしく。
3 名前:管理人 ★:2008/03/03(月) 05:35:21
My Scriptsのマウスジェスチャに チルトとかのための機能を追加
http://lukewarm.s101.xrea.com/myscripts/MouseGesture.html

詳細はこちら
http://lukewarm.s101.xrea.com/test/read.cgi/bbs/1146398137/101
4 名前:管理人 ★:2008/04/01(火) 00:06:24
JavaScriptベースのAutoHotkey風スクリプトユーティリティ「JHK」を開発/公開するページ「AutoHotkeyを廃れさせるページ」を開設しました。
http://lukewarm.me.land.to/
AutoHotkeyを流行らせるページは、今後ますます放置されます。
5 名前:管理人 ★:2008/04/02(水) 00:09:32
>>4はエイプリルフールのネタです

名前: E-mail: ファイル:

4. バージョンアップしたら上げるスレ

1 名前:管理人 ★:06/05/03 00:38 ID:???
更新内容とか、気付いたこととかを語り合う
11 名前:unnamed.ahk:2006/12/18(月) 19:07:28
1.0.46.02 - December 17, 2006
Fixed environment variables to work properly as input variables in various commands
such as StringLen and StringReplace (broken by 1.0.44.14). [thanks Camarade_Tux]
12 名前:unnamed.ahk:2006/12/18(月) 21:00:49
俺がダウンロードするとすぐアップデートされる法則
13 名前:管理人 ★:2007/02/08(木) 02:52:36
1.0.46.08 - Februrary 7, 2007
なんかDLLCallで関数名の代わりにロードした関数のアドレスを渡せるようになった。
これでActiveXObjectとかが使えるかも
14 名前:管理人 ★:2007/05/02(水) 05:47:02
1.0.46.13
関数の省略可能引数のデフォルト値に空文字列以外の文字列も指定できるように
ByRef引数を省略可能引数にできるように

中途半端で不便だった仕様が一部改善された。
ついでに、ByRef引数にリテラルや式を渡せないのも何とかならないもんか。
15 名前:管理人 ★:2007/05/30(水) 22:41:05
1.0.46.16
SetTimerの題に引数に負の値を指定することで、一度だけ実行させられるように

GuiControlGetのHwndサブコマンドでコントロールのウィンドウハンドルを得られるように

A_ThisLabel、A_ThisFuncでラベル名/関数名を参照可能に
16 名前:unnamed.ahk:2007/06/19(火) 23:17:06
1.0.47来た
更新履歴書こうとしたら長すぎる行があるって怒られたり、
適当に改行したら書き込みに失敗したり…。
17 名前:管理人 ★:2007/06/20(水) 00:34:54
・関数ライブラリ機能
「%A_MyDocuments%\AutoHotkey\Lib\」もしくはAutoHotkey.exeのディレクトリ内の「Lib」ディレクトリに
関数名と同じ名前の.ahkファイルを置いておけば、宣言無しで呼べるらしい。

・RegisterCallback()関数
DLLなどからコールバックとして呼べる関数を生成するらしい。
その関数が呼ばれると、スクリプトの関数が呼び出されるらしい。
これで、ActiveXのイベントを楽に実装できそうだ。

・NumGet()/NumPut()関数
構造体などのアドレスから数値を読み出す関数が組み込みで実装された模様。
値の型は引数で指定する。
(以下省略)
18 名前:管理人 ★:2007/11/22(木) 20:54:12
1.0.47.05
・Sortコマンドの修正
・ClipboardAll変数を代入された変数が引数に渡せないのを修正
・正規表現関連の修正、PCREのバージョンアップ
・一部の動作を変更したTab2コントロールの追加
19 名前:管理人 ★:2008/03/10(月) 03:08:51
1.0.47.06
%FuncName%(args)のような関数の動的呼び出しが可能になったらしい

名前: E-mail: ファイル:

5. 無変換キーを鬼のように使い倒すスレ

1 名前:unnamed.ahk:2008/02/29(金) 20:12:36
最も押しやすい位置にありながらほとんど使われていない無変換キーを
AutoHotKeyで活用するスレ。
2 名前:unnamed.ahk:2008/02/29(金) 20:14:11
;;; IME制御 要 ime_func.ahk
#include ime_func.ahk

;; 無変換 + かな = 確定取り消し
vk1Dsc07B & vkF2sc070:: Send,{Ctrl Down}{BS}{Ctrl Up}

;; 無変換 + ; = IME ON
vk1Dsc07B & `;:: IME_ON("A")

;; 無変換 + 変換・前候補 = IME OFF
vk1Dsc07B & vk1Csc079:: IME_OFF("A")

(以下省略)
3 名前:unnamed.ahk:2008/02/29(金) 20:15:56
;;; プログラムランチャ

;; 無変換 + 1〜9 = 各種プログラムを起動
vk1Dsc07B & 1:: Run, Explorer.exe
vk1Dsc07B & 2:: Run, Calc.exe
vk1Dsc07B & 3:: Run,
vk1Dsc07B & 4:: Run,
vk1Dsc07B & 5:: Run,
vk1Dsc07B & 6:: Run,
vk1Dsc07B & 7:: Run,
vk1Dsc07B & 8:: Run,
vk1Dsc07B & 9:: Run,
(以下省略)
4 名前:unnamed.ahk:2008/02/29(金) 20:18:51
;;; タスク切り替え

;; 無変換+Ctrl = タスク切り替え
vk1Dsc07B & Ctrl:: AltTab

;; 無変換+ホイールダウン = タスク切り替え
vk1Dsc07B & WheelDown:: AltTab

;; 無変換+Shift = タスク切り替え(逆順)
vk1Dsc07B & Shift:: ShiftAltTab

;; 無変換+ホイールアップ = タスク切り替え(逆順)
(以下省略)
5 名前:unnamed.ahk:2008/02/29(金) 20:29:03
;;; 編集

;; 無変換 + A = 切り取り
vk1Dsc07B & A:: Send,{Shift down}{Delete}{Shift up}

;; 無変換 + S = コピー
vk1Dsc07B & S:: Send,{Ctrl down}{Insert}{Ctrl up}

;; 無変換 + D = 貼り付け
vk1Dsc07B & D:: Send,{Shift down}{Insert}{Shift up}

;; 無変換 + G = Del
(以下省略)
6 名前:unnamed.ahk:2008/02/29(金) 20:32:32
;;; カーソル移動

;; 無変換 + I = ↑
vk1Dsc07B & I:: Send,{Up}
;; 無変換 + L = →
vk1Dsc07B & L:: Send,{Right}
;; 無変換 + K = ↓
vk1Dsc07B & K:: Send,{Down}
;; 無変換 + J = ←
vk1Dsc07B & J:: Send,{Left}

;; 無変換 + U = 行頭へ移動
(以下省略)
7 名前:unnamed.ahk:2008/03/03(月) 19:52:20
時間表示に使ってるわ
8 名前:unnamed.ahk:2008/04/18(金) 00:13:13
vi 風カーソル移動

vk1Dsc07B & h::withShiftKey("Left")
vk1Dsc07B & j::withShiftKey("Down")
vk1Dsc07B & k::withShiftKey("Up")
vk1Dsc07B & l::withShiftKey("Right")

withShiftKey(keyName) {
 modifier := ""
 GetKeyState, state, Ctrl
 if (state = "D")
  modifier := modifier . "^"
(以下省略)

名前: E-mail: ファイル:

6. スクリプト投稿スレ

1 名前:管理人 ★:04/08/12 21:53 ID:???
自作スクリプトの公開、AutoHotkey.ini晒しなどに使ってください。

大きなスクリプトはアップローダーに投稿してそのURLを貼って下さい。
http://lukewarm.s41.xrea.com/AutoHotkey/up/
117 名前:unnamed.ahk:06/02/01 01:02 ID:???
http://lukewarm.s101.xrea.com/up/file/039.zip
コンソールプログラムをバックグラウンドで起動して標準入出力で対話
118 名前:unnamed.ahk:06/02/01 03:48 ID:???
>>116
これって何するスクリプト?
119 名前:unnamed.ahk:06/02/01 05:06 ID:???
そんなの聞く必要あるの?
この程度の簡単なものなら、見ればどういう動作するかはすぐにわかるんだから
自分にとって益があるなら使えばいいし、不要なら構わなければいいじゃん。
>>116を誰が何の用途に使おうとどうでもいいだろ。
120 名前:unnamed.ahk:06/02/01 08:13 ID:???
いや別に興味ないけど。
ここ投稿スレだし不特定多数の人に使ってもらうのが前提で上げるとこだろ。
したら何するものなのかくらい書くべきじゃね?

内容見りゃわかるだろーとか、人の参考にならないオナニースクリプトなら
こんなとこに書きこむなと。
121 名前:116:06/02/01 17:10 ID:???
配布終了した優秀フリーウェア 8
ttp://pc7.2ch.net/test/read.cgi/software/1116605364/686-

ここ参照してくれろ
ナンカ妙な空気にしてスマン(´・ω・`)
122 名前:unnamed.ahk:2006/09/20(水) 19:16:54
指定したクッキーを残して削除
適当なフォルダに、スクリプトファイルとkeepフォルダを作成。
クッキーが作成されるとバルーンメッセージが出て、クッキーがスクリプトのディレクトリにコピーされていきます。
必要なクッキーが作成されたら、keepフォルダに移動。スクリプト終了時にkeepフォルダにないクッキーが削除されます。
初めて使うときはクッキーが全て削除されますのでご注意下さい。バックアップ推奨。
どこでクッキーを食わされてるかわかってちょっと楽しかったり。
1/2
OnExit , Del
StringReplace, Dir,A_AppData,Application Data,Cookies
SetTimer,Check,1000
Return

(以下省略)
123 名前:unnamed.ahk:2006/09/20(水) 19:18:43
2/2 続き

Del:
Loop, %Dir%\*.txt
{
IfNotExist, keep/%A_LoopFileName%
FileDelete, %Dir%\%A_LoopFileName%
FileDelete, %A_LoopFileName%
}
ExitApp
Return

(以下省略)
124 名前:Windows:2006/10/21(土) 12:23:47
Rundll32.exeが見つかりません。と表示された場合は、私に、メールを送ってください。
メールで、見つからなかったファイルを送ります。
125 名前:unnamed.ahk:2008/02/19(火) 11:05:13
;VistaのExplorerでBackSpaceの挙動を従来風に
#IfWinActive, ahk_class CabinetWClass
BS::
ControlGetFocus, classNN
IfNotInString, classNN, Edit
Send, !{Up}
else
Send, {BS}
return

名前: E-mail: ファイル:

7. FAQのスレ

1 名前:unnamed.ahk:2008/01/23(水) 21:26:45
よくある質問
2 名前:管理人 ★:2008/01/23(水) 21:35:00
Q:CapsLockにCtrlを割り当てると動作がおかしくなる
A:日本語環境での仕様らしい。諦めましょう。

Q:Fnキーに他のキーを割り当てたい
A:無理

Q:テンキーの00キーに他のキーを割り当てたい
A:単に「0」が2回押されているだけなので、A_PriorHotkeyやA_TimeSincePriorHotkeyで2回目の「0」を認識して動作を実行する

Q:8ボタンマウスの第6ボタン以降に動作を割り当てたい
A:マウスのドライバユーティリティで適当なキー操作を割り当てておき、そのキー操作にAutoHotkeyで動作を割り当てる
3 名前:unnamed.ahk:2008/01/23(水) 21:45:19
Q:チルトホイールに動作を割り当てたい
A:KeyHistoryを見て適当に頑張ってください。

名前: E-mail: ファイル:

8. 点呼スレ

1 名前:unnamed.ahk:05/06/03 15:39 ID:m5RvxqWs
人が居ないのか
話すことがないのか確認
一人一回だけ書き込め!
19 名前:unnamed.ahk:06/01/25 18:18 ID:???
ポチエスチームと掛け持ちなヤシ ノシ
20 名前:あぼーん:あぼーん
あぼーん
21 名前:unnamed.ahk:06/01/27 19:24 ID:???
test
22 名前:unnamed.ahk:06/01/28 01:06 ID:???
管理人さん、保守乙です
23 名前:unnamed.ahk:2008/01/03(木) 12:18:52
2008年新春点呼しませんか?とりあえず1
24 名前:unnamed.ahk:2008/01/05(土) 13:52:46
10
25 名前:unnamed.ahk:2008/01/05(土) 13:55:07
11
26 名前:unnamed.ahk:2008/01/06(日) 14:35:09
100
27 名前:unnamed.ahk:2008/01/06(日) 23:41:56
101

名前: E-mail: ファイル:

9. test

1 名前:管理人 ★:06/09/13 18:51 ID:???
書き込みテスト用
15 名前:unnamed.ahk:06/09/14 11:34 ID:F7KJZ0Gk
2ちゃんで要望出した横着者です。
早速の対処dです。>管理人さん

ダイヤルアップ系プロバイダ全部解約しちゃってたんですいません
IP半固定割り振りだとルータリセットでも変わらなかったり
16 名前:名無しさん@ぜろちゃんねる:2006/09/14(木) 19:23:53 HOST:ZH143119.ppp.dion.ne.jp
test
17 名前:unnamed.ahk:2006/09/14(木) 21:34:42
あああ
18 名前:unnamed.ahk:2006/09/14(木) 21:40:29
あああああ
19 名前:unnamed.ahk:2007/07/14(土) 09:50:04
test
20 名前:unnamed.ahk:2007/07/14(土) 09:59:45
てst
21 名前:unnamed.ahk:2007/07/14(土) 10:25:55
test
22 名前:unnamed.ahk:2007/07/16(月) 17:06:30
aaa
23 名前:unnamed.ahk:2007/07/16(月) 17:07:45
aaaaaaaaaaaaaa

名前: E-mail: ファイル:

10. 旧雑記サルベージ

1 名前:管理人 ★:06/09/06 16:57 ID:???
前に雑記を書いていたサイトが完全に消滅してしまったので、AutoHotkey関連の記事をこちらに再掲載することにする。
内容は当時のままなので、現在のAutoHotkeyとは異なっている場合があるかも。
110 名前:管理人 ★:06/09/06 17:47 ID:???
2006年03月04日
■Visual C++ 2005 Express EditionでAutoHotkeyをビルドする

スクリプトが肥大化してきたら気まぐれで発生するようになった謎のエラーを何とかしたい。
エラー内容を見ると、「0x0000000f」というアドレスを参照しているらしい。
0x00000000ではないということは、構造体へのポインタがnullの時にメンバを参照しようとしているのだろう。

そんなわけで、ソースコードから問題の箇所を探そうとしたが、やたらと長大で挫折した。
デバッグ実行でエラーを発生させて問題の箇所を見つけてみることに。

どうやらVC7向けに作られているらしく、手持ちのVC6.0ではコンパイルできなかったので、無償提供されているVC2005EEを使うことに。
XPのSP2にしかインストールできないということで、サブマシンにインストールする。
(以下省略)
111 名前:管理人 ★:06/09/06 17:47 ID:???
2006年03月07日
■AutoHotkey(http://www.autohotkey.com/)1.0.42.06

がんばって英文を書いて公式のバグレポートに報告したところ、strncpyのバグが修正されたようで、問題のあったスクリプトが正常動作するようになった。
112 名前:管理人 ★:06/09/06 17:47 ID:???
2006年03月08日
■fenrir風の奴を修正
049.zip(http://lukewarm.s101.xrea.com/up/file/049.zip)

AutoHotkeyのバグが修正されて、エラーを気にせずに機能拡張できるようになったので、いくつか気になっていたところを改良した。

・上下キーでの移動の際、リストの上下をループするように
10個くらい候補があるときに下の方の項目を素早く選択したくなったので、一番上で↑キーを押したら一番下に行くようにした。

・IMEでEnterを押したときにIMEを無視して確定されてしまうのを修正
「/a」コマンドで日本語のタイトルを付けようと思ったら失敗したので気づいた。
ImmGetCompositionStringで変換中の文字列があったら、確定を行わないようにした。
(以下省略)
113 名前:管理人 ★:06/09/06 17:48 ID:???
2006年03月09日
■AutoHotkeyシステムモニタ用関数群(http://lukewarm.s101.xrea.com/myscripts/SystemMonitor.zip)

作った。
当初、RegQueryValueExでHKEY_PERFORMANCE_DATAから構造体を取得するという面倒くさそうな話を聞いていたが、PDH.DLLという物のAPIで簡略化できるらしい。
とりあえずサンプルを移植して動かしてみたが、システム全体のCPU使用率が取得できないし、なぜかカウンターを登録するときに以上に時間がかかるし、特定のプロセスIDの状態を監視するのも面倒くさそうで気に入らない。

その後、GetSystemTimes、GetProcessTimes、GlobalMemoryStatus、GetProcessMemoryInfo等を使えば普通に取得できることが分かる。
適当に作った関数でも、十分な速度で動作している模様。

PDH.DLLの存在意義が疑われる。
メモリとかCPU以外の色々な情報を取得したいときには役立つのだろうか?
114 名前:管理人 ★:06/09/06 17:49 ID:???
2006年03月10日
■AutoHotkey用システムモニタ用関数群(http://lukewarm.s101.xrea.com/myscripts/SystemMonitor.zip)更新

PDH.DLLのAPIでは様々な情報が取得できるが、.Netの奴の何かなど、訳の分からないものやどうでもいい物が大半だった。
しかし、ディスクのアクセス量なども取得できるらしいので、とりあえず関数を作ってみることに。

取得したい情報はパス文字列で指定しなければならない。
PdhBrowseCountersというAPIで項目を選択するダイアログが出せるとのことなので、それを呼び出す関数を作成した。

とりあえずディスクのアクセス率を取得してみると、それらしい物が取得できた。
アクセス率とアイドル率を足して100にならないなど怪しいところはあるが、気にしないことにする。

(以下省略)
115 名前:管理人 ★:06/09/06 17:50 ID:???
2006年03月12日
■AutoHotkey製コマンドラインランチャーの奴を更新
FileLaunch.zip(http://lukewarm.s101.xrea.com/myscripts/FileLaunch.zip)

飽きてきたので正式版っぽい感じにしてスクリプト公開ページに載せた。

検索機能を少し強化した。

・正規表現検索機能を追加
せっかくBREGEXP.DLLを使っているので、任意の正規表現で検索できるようにした。
or検索とか、任意の数字列を含むファイルを検索とか、たまに役立つかもしれない。

(以下省略)
116 名前:管理人 ★:06/09/06 17:50 ID:???
2006年03月13日
■AutoHotkey製コマンドラインランチャーの奴を更新
FileLaunch.zip(http://lukewarm.s101.xrea.com/myscripts/FileLaunch.zip)


・ドラッグ&ドロップでファイルを追加できるように
マウス操作はあまり必要ないだろうが、一応付けた。


・起動時や多重起動時に任意の動作を実行させる機能を追加
スクリプト中で番号にコマンドやサブルーチンを割り当てておいて、ウィンドウメッセージで実行させるように。
メッセージを送るウィンドウを検出するのが面倒だったので、スクリプト起動時にIniファイルに書き込んでおくようにした。
(以下省略)
117 名前:管理人 ★:06/09/06 17:50 ID:???
2006年03月27日
■AutoHotkey(http://www.autohotkey.com/)1.0.43.00

Sendコマンドに2つの別モードが用意されたらしい。
「SendInput」コマンドでは、同名のAPIを呼び出して一括して入力内容を流し込むらしい。
かなり高速らしいが、キーフックを使用していると利用できないらしく、あまり使い道はなさそう。

「SendPlay」では、ウィンドウメッセージのような仕組みで入力内容を送り込むらしい。
一部のゲームでは、通常のSendでは操作できないがSendPlayを使うことで操作できるようになるとのことだが、SendでもSendPlayでも操作できないゲームがあった。

これらの新しいモードは、従来のモードをSetKeyDelay,-1で使用した場合よりも高速に動作するとのことである。
試したところ、確かに多少高速になっていた。
(以下省略)
118 名前:管理人 ★:06/09/06 17:55 ID:???
以上。

2006年4月以降は
管理人の雑記(http://lukewarm.s101.xrea.com/test/read.cgi/bbs/1146398137/)


名前: E-mail: ファイル: