1 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/28(月) 15:48:16 ID:LAzeYh1N0] (テンプレ>>1 ) ■公式 www.autohotkey.com/ ■解説 AutoHotkeyを流行らせるページ lukewarm.s101.xrea.com/ ■過去スレ 1 pc7.2ch.net/test/read.cgi/software/1098531338/ 2 pc7.2ch.net/test/read.cgi/software/1129836713/ 3 pc11.2ch.net/test/read.cgi/software/1157043396/ 4 pc11.2ch.net/test/read.cgi/software/1184556627/ 関連リンク>>2 以降も参照
16 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/29(火) 12:40:37 ID:Szetxnxc0] 5ボタンマウスのサイドボタン押したら アプリ毎に独自のAHKで作ったコンテキストメニュー出すようにしたらめちゃ便利になったぜ。
17 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/29(火) 14:32:03 ID:ajljrKKP0] タブ一覧をフルパスで出すことは可能ですか?
18 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/29(火) 15:36:31 ID:H396lWxH0] 任意ウィンドウにファイルパスをドロップするのってAHKで実現するとなるとやっぱDllCallあたり? 秀丸上で再編集した AviSynthスクリプトを VirtualDub で開き直したいんだが 秀丸(マクロ起動)→ AHK → CDrop.exe → VirtualDub みたいな感じになってイマイチ美しくない。 CuteExec + CDrop 的なことをAHK単体でできるとスマートになるんだが
19 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/29(火) 17:53:20 ID:ajljrKKP0] "を,に変更しようとして下記を実行するとエラーになります。 "のエスケープ方法はありますか? RegExReplace(str, """, ",") → ダメ RegExReplace(str, "\"", ",") → ダメ
20 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/29(火) 19:28:38 ID:3WMuG5Dr0] つRegExReplace(str, """", ",") 流行らせるページに書いてあった気がするぞ
21 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/29(火) 20:39:08 ID:BI4JxHKn0] >>16 それ俺もやってる。便利だよな
22 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/31(木) 16:33:32 ID:shq4HQgO0] 特定のタイトルを含むダイアログがポップしたら 即走り出すスクリプトってどう書けばいいんですか?
23 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/31(木) 17:42:19 ID:at/ss03S0] WinWaitでひたすら待機するか、SetTimerで定期的にウィンドウチェックする
24 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 12:16:53 ID:a0KRVuAu0] マウスとトラックボールで使う設定を切り替えたいのですが、 特定のキーを押したら設定ファイルを切り替えることはできますか?
25 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 13:39:13 ID:VhWABfjI0] いくらでもやりようはあるんでは 全部メインINIに書かんでも必要な時に単体AHKで走らせるとか どういう形で利用したいか次第だけど
26 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 15:22:25 ID:4atLgnwZ0] ホットキー押下で処理が実行できるように、 マウスを任意のポジション(画面右端など)に持っていくと任意の関数を呼び出すことってできますか?
27 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 15:23:50 ID:USinHq/30] SetTimerで定期的にカーソルの座標をチェックする
28 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 15:29:07 ID:4atLgnwZ0] >>27 なるほど!頭が固かった。 ありがとうございます。
29 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 16:03:24 ID:4atLgnwZ0] #Persistentを入れたら、よく分からないのですがGUI関連の動作が変になります。 画面表示させると、タスクバーにウィンドウタブが出るのに、画面が表示されません。 何か注意事項があれば教えてください。
30 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 16:14:06 ID:VhWABfjI0] AHK晒す方が早い
31 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 17:21:17 ID:4atLgnwZ0] なにかRegExReplaceの挙動が変です。 clipboard := RegExReplace(clipboard, "$", "_") clipboardは「aaa」 aaa____________ ※「_」が永遠につきます。 これは私だけでしょうか?
32 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 18:32:39 ID:VhWABfjI0] どこかでループに入ってるだけじゃないの OnClipBoardChangeとかでそれやるとそうなると思うけど それにしても挙動がおかしいわけじゃないので精進あるのみ
33 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/02(土) 22:56:17 ID:KxCafLCj0] 普段は無変換をAltにして、変換中の文字列がある時は 無変換のままにするには、どうしたらいいでしょうか? ImmGetContext ImmGetCompositionString ImmReleaseContext で何とかしようとしたんですが、ImmGetContextが HIMCを返してくれず、つまってしまいました。
34 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/03(日) 07:50:55 ID:rBQILGNE0] >>11 そうかもしれんが とりあえずグッジョブ!! オレも同じ気持ちだ
35 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 08:09:41 ID:lNDxtde70] トグルでのリマップ、具体的には ;1 キーボード左手ホームポジション付近にテンキーを配置 ;2 と同時にマウスホイルを横スクロール化する ってのを本家のForumからのコピペを継接ぎして動作確認取ったんですよ。 で、本題、そこに更にSandS実装したらテンキー部分が1と2は死んじゃったんです。 使わせてもらったのはコレ ttp://sadat-studio.net/modules/mydownloads/viewcat.php?cid=3 他に変換キーとの同時押し、無変換キーとの同時押しで色々割り振ってるけどそっちは問題ないんです。 (最後にSandS付足したらトグルテンキー&スクロールが死んだ) なんとか粗探ししてもらえませんか? やりたいこと纏めた画像とコードも晒しときます。 rainbow.sakuratan.com/data/img/rainbow67867.jpg
36 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 08:12:14 ID:lNDxtde70] DetectHiddenWindows On GoSub ~ScrollLock ; react to initial state ; ... further code here ; --- end of autoexecute section --- ~ScrollLock:: ; toggle by create/destroy a hidden window If GetKeyState("ScrollLock","T") Gui 1:Show, Hide, ScrLk Else Gui 1:Destroy Return !T:: ; toggle by create/destroy a hidden window AltT := !AltT If AltT { Gui 2:Show, Hide, Alt-T TrayTip, テンキー&横スク, ON!!!!!!!!!!!!!!!, 10, 17 } Else { Gui 2:Destroy TrayTip, , OFF!!!, 10, 17 } Return #IfWinExist ScrLk ; below the HotKeys are active when CapsLock is ON !z::MsgBox ScrollLock ON ;... #IfWinExist Alt-T ; below the HotKeys are active when Alt-T toggle is ON !z::MsgBox Alt-T ON 2::Send {BS} 3::Send {Numpad7}
37 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 08:12:48 ID:lNDxtde70] 4::Send {Numpad8} 5::Send {Numpad9} q::Send +{Tab} w::Send {Numpad4} e::Send {Numpad5} r::Send {Numpad6} t::Send {Tab} a::Send {Numpad0} s::Send {Numpad1} d::Send {Numpad2} f::Send {Numpad3} x::Send {,} c::Send {NumpadDot} v::Send {NumpadEnter} WheelUp:: ; Scroll left. ControlGetFocus, fcontrol, A Loop 4 ; <-- Increase or decrease this value to scroll faster or slower. SendMessage, 0x114, 0, 0, %fcontrol%, A ; 0x114 is WM_HSCROLL and the 0 after it is SB_LINERIGHT. return WheelDown:: ; Scroll right. ControlGetFocus, fcontrol, A Loop 4 ; <-- Increase or decrease this value to scroll faster or slower. SendMessage, 0x114, 1, 0, %fcontrol%, A ; 0x114 is WM_HSCROLL and the 1 after it is SB_LINELEFT. return ;... #IfWinExist ; below the HotKeys are active when all toggles are Off !z::MsgBox ScrollLock/Alt-T Off ;...
38 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 10:54:47 ID:1sw7KKiW0] >>32 これはバグでしょう。 クリップボード「c\windows」 clipboard := RegExReplace(clipboard, "\\", "_") → c_windows clipboard := RegExReplace(clipboard, "\\", "\\\\") → c\\\\\\\・・・無限に どの正規表現ライブラリで実行してもこんな結果にならない。 というか、最初のマッチ文字は置換対象文字の影響を受けないのが正規表現の仕様のはず。
39 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 13:58:05 ID:lxZerH8t0] だから、スクリプトの書きミスで再帰的に その行が実行されちゃってるんじゃないの? clipboard = c\windows clipboard := RegExReplace(clipboard, "\\", "\\\\") ExitApp これだけをAHKとして実行したら無限になんかならないよ?
40 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 15:19:54 ID:hiCAfNGc0] >32も指摘してる通り OnClipboardChange: イベントでループしてんじゃないの? てか検証して欲しいなら どういう条件でコードが実行されるのかイベントやラベルも含めて晒せよ あと、OSとAHKのバージョンもな。 それと本当にバグを見つけたんならここだけで話終わらせないで公式に報告汁 適当な機械翻訳でもサンプルソースとかで意図さえ伝わればフィードバックしてもらえるよ。
41 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 18:37:52 ID:NF7nd3YZ0] 意図しない挙動をして質問する時は、>>40 の言うように その環境と再現する最小の例を出さないと、要エスパーになる まあ、処理系のバグのせいにする時は、99%凡ミスしてるんだけどなw
42 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 19:58:32 ID:dA0g5f860] 流行らせるページって公式に許可取ってるの? 勝手に本まで出して。
43 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 20:12:43 ID:lzI8duyb0] >>42 公式サイトのトップページからリンクされてる 勿論それが許可を取った証拠にはならないが、公認されているのは間違い無いな
44 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 20:22:49 ID:e8nuEEnl0] 流行らせるページって本当に流行らせたかったら サイトデザイン変えるのが先だろうと思ってしまう
45 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 20:25:33 ID:YiEZp6JU0] つーか、GPLな物の本を出すときに許可をとる必要あるの?
46 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 20:52:03 ID:dA0g5f860] このレスの速さw 本人常駐かよ。
47 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 20:53:44 ID:se7bcYAi0] ID:dA0g5f860
48 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 21:01:45 ID:T+oEl9Ya0] ちょっと調べれば間違いだと分かることで難癖をつけたり、 やたら他人の財布の中身に執着するし、前スレの奴かもな。 >>45 つーか、大体のPC系の解説本って無許可なんじゃね?
49 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 21:21:30 ID:XZ2S5i9N0] AHK付属させるとかじゃなければメールで知らせる程度だろう てか、某厨雑誌とか断っても既にメディアにプレスしてしまったから 掲載させろとか言ってくるんだぜ?w
50 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 23:47:13 ID:zQqzFbOH0] GPLだからなんの問題もないよ。 世の中にあるlinux解説サイトとかlinux本とか 全部linusの許可もらってるとでも思ってんのか。
51 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/05(火) 00:04:13 ID:UKfPXss30] 5ボタンくん再臨だな
52 名前:35 mailto:sage [2008/02/05(火) 06:38:40 ID:fCMPtgDt0] 華麗にスルーですかそうですか 自分でやってみるよ…
53 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/05(火) 12:06:58 ID:ri+tJX5c0] 本なんて出てるんだ。 っつーかあの日本語はオタ特有だよね。 大量にあるのに何が言いたいか相手に伝わらない。 英語ヘルプの方が分かりやすい。 >>35 も何が言いたいのかさっぱりわからん
54 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/05(火) 12:49:31 ID:UKfPXss30] いいたいことは分かるが検証するには量多すぎて付き合いきれんw
55 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/05(火) 12:54:07 ID:K8ltHUV00] あれ本て言うのか、、
56 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/05(火) 15:55:19 ID:y+D95pDv0] >>52 SandS、スクリプト書いてupろだに上げた者だが、Inputで入力拾ってるので色々動作に制限は出てると思う。 ここ(の過去スレ)で要望が出たからサンプルとして書いたけど、 たしか要望した本人も「結局使えない」て結論に至っていたような。 とりあえず SAS_Initルーチン内の sas_EndKeys に {Numpad0〜9}とかを追加してみたらどうだろう。 ちなみにうちはノートPCなので動作確認はしてやれない、テンキーついてないしね。 てか、普通のSpace&1とか押しても ! にはならないな。当時使ってたPCでまともに動いてたのかも覚えてないわ。 それと、>35のリンク先で、変換/無変換キーにIME ON/OFF割り当ててるけど これってAHK使わなくても IMEのキーバインド変更機能でいけるような… (キーカスタマイズできない昔のMS-IMEしか入ってない環境では自分もやっていたが)
57 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/05(火) 16:33:45 ID:TVchypt10] >>33 みたいな日本語を書く人はちゃんと学校を出たのかと心配になる
58 名前:35 mailto:sage [2008/02/05(火) 18:54:52 ID:fCMPtgDt0] >>53 >>35 も何が言いたいのかさっぱりわからん 確かに読み直してみると日本語でおk状態でした >>56 >>これってAHK使わなくても IMEのキーバインド変更機能でいけるような… 仰るとおりです。リンク先画像の赤いキーはレジストリ書換とIMEのプロパティで実現してます。 ホント全く説明になってないよね、面目ない… やりたい事の全容ですが、 1, 変換キーを絡ませた同時押し 2, 無変換キーを絡ませた同時押し 3, S&S 4, 8ボタンマウスのキーを絡ませた同時押し のワンショット・モディファイヤ(以下W.M.)、それにマウス側の各トグルキーで2配列追加して まぁ計6配列切り替えてキーボードを使いたいって感じです。 で、まぁ、一応全て動作して、それなりに満足してます。 今悩んでる、というか多分出来ないんだろうけどなんか代替手段ね〜かなと思ってるのは 1, 上記のトグル状態をキャレット及びマウスポインタに反映させれないか?(今はTooltip使ってる) 2, W.M.で割振ったキーが、別の修飾キーを同時押しした際に思ったように動作しない (例えばW.M.で割振った{+}キーとShiftを同時押ししてもShift+{+}のようにアプリ側が認識してくれてない) という2点です。何かヒントになるものありませんかね?
59 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/06(水) 18:01:25 ID:pvAifRzL0] IME の On/Off の切り替えじゃなくて IME を Off にすることはできるでしょうか? (On/Off に関係なく)
60 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/06(水) 18:10:00 ID:d8898FGG0] onだったらoff,return offだったらreturn
61 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/06(水) 19:27:15 ID:pvAifRzL0] ??? On/Off 関係なく IME を Off にしたいんですけど。。。
62 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/06(水) 19:37:51 ID:Sl+cm/Zu0] >>59 ほいよ、 これで IME_SET(0) でおk IME_SET(setSts, WinTitle="") { ifEqual WinTitle,, SetEnv,WinTitle,A WinGet,hWnd,ID,%WinTitle% DefaultIMEWnd := DllCall("imm32\ImmGetDefaultIMEWnd", Uint,hWnd, Uint) ;Message : WM_IME_CONTROL wParam:IMC_SETOPENSTATUS DetectSave := A_DetectHiddenWindows DetectHiddenWindows,ON SendMessage 0x283, 0x006,setSts,,ahk_id %DefaultIMEWnd% DetectHiddenWindows,%DetectSave% Return ErrorLevel }
63 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/06(水) 19:38:04 ID:tpln78Ks0] 例えば無変換なら vk1Dsc07B::IME_OFF("A")
64 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/06(水) 19:42:14 ID:EgdTkP180] なんか忘れてない?
65 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/06(水) 22:01:48 ID:AYbDX1cI0] 質問です。 Edit コントロールに入力した文字列を utf-8 として取得したいのです。 クリップボード経由 Transform,,Unicode で出来そうなのですが、 もっと直接的な方法はないでしょうか。
66 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/06(水) 22:48:54 ID:EdJE6v3t0] ControlGetは?
67 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/07(木) 18:37:55 ID:eh09GcLw0] >>62 ありがとうございます。最高です! 回数を指定してキーを送る時に、IME がオンの時に困っていました。 1000 文字とか送るので (マクロの止め方がわからないし。。)
68 名前:65 mailto:sage [2008/02/07(木) 21:31:30 ID:Zlfk3GsS0] >>66 レスありがとうございました。 なんとか自己解決できそうです。 こんな感じでいいのでしょうか。 EM_GETLINE := 196 buf_size := 100 VarSetCapacity(buf, buf_size) DllCall("RtlFillMemory", "Uint", &buf, "Uint", 1, "BYTE", buf_size &0xFF) DllCall("RtlFillMemory", "Uint", &buf + 1, "Uint", 1, "BYTE", (buf_size >> 8) & 0xFF) DllCall("RtlFillMemory", "Uint", &buf + 2, "Uint", 1, "BYTE", (buf_size >> 16) & 0xFF) DllCall("RtlFillMemory", "Uint", &buf + 3, "Uint", 1, "BYTE", (buf_size >> 24) & 0xFF) DllCall("RtlFillMemory", "Uint", &buf + 4, "Uint", 4, "BYTE", 0) c := DllCall("SendMessageW", "Uint", IdEdit, "Uint", EM_GETLINE, "int", 0, "Uint", &buf) DllCall("RtlFillMemory", "Uint", &buf + 2*c, "Uint", 2, "BYTE", 0) ; UNICODEを utf-8 に変換
69 名前:名無しさん@お腹いっぱい。 [2008/02/08(金) 12:45:20 ID:4jp9yaxv0] なまず氏の ダメ文字対策ライブラリ(mbstring.ahk)を見てるんだけど >MBS_StringTrimLeft(ByRef outputVar, ByRef inputVar, count) inputVar も ByRef型なのは何でなんだろ? 試しに inputVar を ByVal型にして見ても同じ動作はするみたいだけど (WinXP sp2 Ahk ver.1.0.47.05) 敢えてByrefにしているのは何か訳があるのだろうか? inputVar と outputVar 同じバッファを指定するとまずいのかな。 AHKオリジナルは StringTrimLeft, buf, buf, 1 としても問題ないことになってるので 同様の使いかたをしたいのだが。 軽くテストした感じでは希望通りの結果が得られたけど、不定動作になることもあり得る?
70 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/08(金) 12:52:10 ID:2F8NJJop0] なまずってのはアフィ厨じゃないんだな。珍しく
71 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/08(金) 13:40:56 ID:DDRTnBHp0] 流行らせるさんのMouseGesture2の MouseGesture.iniでDGInterval=0が初期値なのはなぜだろう X1ダブクリが効かなくて悩んだのでメモ 他で不具合が出るのだろうか
72 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/08(金) 14:46:43 ID:DDRTnBHp0] あとフォーカスを持ってないコントロールの上での ホイールUPのみ、ホイールDOWNのみで起動したいアクションがうまくいかない フォーカスを持っているコントロールに送られてしまう
73 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/08(金) 14:54:50 ID:DDRTnBHp0] あああああorz ごめんなさいごめんなさいごめんなさい >>71 readmeに書いてあったああ >>72 アクティブにしてからsendでできたあああ ごめんなさいごめんなさいごめんなさいorz
74 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/08(金) 16:46:59 ID:osns6GEA0] >>72 つ流行らせるページ
75 名前:名無しさん@お腹いっぱい。 [2008/02/08(金) 19:26:07 ID:4jp9yaxv0] ahk2exe コマンドライン /icon を指定しないとエラー吐いて終わるようになってるね。(2007/11/21 ver) 何気に不便だ。
76 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/08(金) 19:40:26 ID:Uv76QAMz0] >75 Version 1.0.47.05 のこと? ならないよ。正常作動。
77 名前:名無しさん@お腹いっぱい。 [2008/02/08(金) 20:11:44 ID:4jp9yaxv0] GUI立ち上げて Custum icon の項をクリアしたらいけました。お騒がせしてスマソ そういえば以前もはまったんだったわ、これ。 Ahk2exeって GUIで指定した過去の.icoのパスをレジストリに記憶していて コマンドライン時も参照するんだよね。テラマギラワシス
78 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 14:06:51 ID:/ZUYXnzs0] >>71 MouseGesture2はMG_Edit.ahkいじって直さないと厳しい。 ジェスチャ指定の方向ボタン押すと別の方向が入力されたり、 条件定義のどれかor全てに一致が反映されなかったりする。 .ahkいじって直すといい。AHKを知るのに役立つからそれが狙いかも。
79 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 15:26:25 ID:mPAFufKZ0] ahkで作ったテキストボックスに日本語を入力しようとすると妙にもたつくというか表示されません。 解決法はありますか?
80 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 15:41:10 ID:WRA8epLk0] 未解決だね AutoItのGUIは日本語徹っぽいな しかし今から覚えるのまんどー
81 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/10(日) 18:32:17 ID:urNrftPm0] >>80 ありがとうございました。別の方法を探して見ます。
82 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 21:11:16 ID:PEDtGQkM0] 5ボタンマウス買ったので早速いろいろやってみようと思ったら Xbutton1:: MsgBox, Xbutton1 Pressed Xbutton2:: MsgBox, Xbutton2 Pressed が全く無視されちゃうんですがJoy?同様イベントとしては発生しないんですか?
83 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 21:20:58 ID:D69x2CQo0] logitecのマウスだとsetpointの設定によっては サイドボタンはXButton1とかじゃなくなってるよ。 設定かえればいける。 MSのマウスは知らない。
84 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 22:33:02 ID:PEDtGQkM0] なるほど、意味はわかったけどIntelliPointの設定とAHKが連携してくれない。 Browser_BackやNumpadDivなんかに割り当ててみても反応しない。 画面を4分割してサイドボタンクリックしたときのマウスカーソルの位置で 仮想デスクトップを切り替えようと目論んでいたんだけど・・・ ともかくありがとうございます。
85 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 02:33:53 ID:UVg/XF8b0] ahkのトレイアイコンをダブルクリック、ctrl+k でキーヒストリ見れるよ。
86 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 20:29:17 ID:OVFZxKUz0] RegExReplaceで改行の「_」にしたいのですが、 str := RegExReplace(str, "`r`n|`n|$|\z|\Z", "_") とやっても目的どおりになりません。 元データ aaa bbb ccc 理想 aaa_bbb_ccc 実際 aaa bbb ccc_
87 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 22:44:37 ID:uKCFPiBm0] >>75 これかな? AVG - all ahk script infected www.autohotkey.com/forum/topic25333.html
88 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 23:02:33 ID:IGJgXqVN0] >>86 Str = aaa`r`nbbb`r`nccc str := RegExReplace(str, "`r`n|`n|$|\z|\Z", "_") MsgBOx, %STr% ExitApp ばっちりaaa_bbb_cccになったよ
89 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/13(水) 10:04:08 ID:sO97eULm0] >>88 ありがとうございます。 実際の処理は下記になっています。 change := RegExReplace(clipboard, MyText1, MyText2) MyText1、MyText2はGuiのEditで、「`r`n|`n|$|\z|\Z」を入力しました。 置換対象は改行が入っているクリップボードです。 Guiから「`r`n|`n|$|\z|\Z」の入力で、「`r`n」が正しく判断されないのでしょうか?
90 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/13(水) 12:04:52 ID:1HOMoDij0] 再現した。 GUIからSUBMITされた`r`nは既にエスケープされてる StringReplace, MyText1, MyText1, ``r, `r, 1 StringReplace, MyText1, MyText1, ``n, `n, 1 これ入れたら上手くいった もし正規表現によるGUI置換スクリプトなら 素直に「\r\n」を利用すればいい気もする
91 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/17(日) 16:36:12 ID:7mRUuCKX0] なにか人として足を踏み入れてはならない変態領域に突入しつつあるような悪寒・・・ ; 無変換キーとのコンビネーション ; 半角/全角 vkF3sc029/vkF4sc029 (IMEのON/OFFで発生するイベントが違うが、Sendコマンドで送信する場合はどちらでも同じ) ; 変換 vk1Csc079 ; 無変換 vk1Dsc07B ; ひらがなカタカナ vkF2sc070 ; IME for VJE vk1Dsc07B & vkF2sc070:: Send,{Ctrl Down}{BS}{Ctrl Up} ; +かな 確定取り消し ; カーソル移動 vk1Dsc07B & U:: Send,{Home} vk1Dsc07B & O:: Send,{End} vk1Dsc07B & I:: Send,{Up} vk1Dsc07B & L:: Send,{Right} vk1Dsc07B & K:: Send,{Down} vk1Dsc07B & J:: Send,{Left} vk1Dsc07B & Q:: Send,{PgUp} vk1Dsc07B & E:: Send,{PgDn} ; 編集 ; Cut, Copy, Paste vk1Dsc07B & A:: Send,{Shift down}{Delete}{Shift up} vk1Dsc07B & S:: Send,{Ctrl down}{Insert}{Ctrl up} vk1Dsc07B & D:: Send,{Shift down}{Insert}{Shift up} vk1Dsc07B & G:: Send,{Del} vk1Dsc07B & H:: Send,{BS} vk1Dsc07B & M:: Send,{Enter} vk1Dsc07B & N:: Send,{End}{Enter} vk1Dsc07B & `;:: Send,{Enter}
92 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/17(日) 19:46:55 ID:nXi1dMsx0] 俺はTypeMatrix風中央配置してみた TY=Tab、GH=Return、BN=BS 片方BTab、ShiftReturn、Delもいいかもしれん…
93 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/17(日) 22:24:58 ID:z5JlTnrn0] 先生教えてください。二つのスクリプトを瞬時に交互に切り替えしたいのです。 例としては、PauseキーでAutoHotkey2を読み込みAutoHotkey1をアンロード、 逆にScrollLockキーでAutoHotkey1を読み込みAutoHotkey2をアンロード、 って事をしたいのですがおせーてください。 つまらない物だけど置いていきます。 ScrollLockでサスペンド、Pauseでサスペンド復帰+リロードです・・・ vk91::Suspend on pause::Suspend vk13::Reload
94 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/17(日) 23:21:53 ID:Z8h8m2Kn0] Autohotkey1.ahk Pause:: { run, Autohotkey2.ahk ExitApp } Autohotkey2.ahk ScrollLock::
95 名前:名無しさん@お腹いっぱい。 [2008/02/18(月) 00:09:02 ID:WTKVYZXY0] Locks系の挙動は二バイト圏OS環境下では不定だぞ。他のキーに割り当てたほうが無難じゃね? 何がやりたいんだか知らんが、わざわざ2つに分けて行き来しなくても 一個のスクリプトでフラグかなんか立ててスイッチングすればいいんじゃね?
96 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/18(月) 12:29:42 ID:tGp4/4e6P] AHKで、特定のアプリケーションが起動しているときにスクリーンセーバーを 抑制する処理がかけるかとおもってやってみたんですが、実行結果をみたりする ウインドウを最前面にした状態じゃないと、WM_SYSCOMMANDが拾えないようです。 これはそういう仕様なのでしょうか… OnMessage(0x112, "WM_SYSCOMMAND") ; WM_SYSCOMMAND return WM_SYSCOMMAND(wParam, lParam) { OutputDebug SYSCOMMAND w:%wParam% l:%lParam% if ( wParam = 61760 ) { ; SC_SCREENSAVE OutputDebug SC_SCREENSAVE received if ( 判定 ) { OutputDebug screensaver cancelled return 1 ; screensaver cancelled } } }
97 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/18(月) 15:21:57 ID:tGp4/4e6P] どうやら、SC_SCREENSAVE はアクティブウインドウだけが 受け取れるようです。別の方法を模索します。 失礼しました。
98 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/18(月) 23:25:28 ID:DgQUWzko0] 有難う先生、出来ました。やはりLock系の挙動怪しいです、無効化してみます。 一応メモ。 Autohotkey1.ahkは Pause:: { run, Autohotkey1.ahk ExitApp } vkF0:: Send, ] ScrollLock::return Autohotkey2.ahkは ScrollLock:: { run, Autohotkey2.ahk ExitApp } Pause::return
99 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/18(月) 23:43:54 ID:9kfLohoxP] わざわざ2つのahkファイルに分けてる意味がわからん。 hotkeyコマンド使うだけじゃあかんの?
100 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/19(火) 00:01:25 ID:w7qvM9gV0] まあ、追々洗練されていけばええやろ まずは目的の成就じゃ
101 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/19(火) 14:13:24 ID:bfqFbnlQ0] 自分が最近気に入ってるのはこれ。IMEのワンキーオンオフやつなんだけど、 シングルタップでオフ、ダブルタップでオンになるようにしてあるので、 トグルのようにどっちだっけ?ということもないし、オンにするキーとオフにするキーを 2つ用意しなくてもよいので、102キー等、キー数に限りのある人には便利かも。 ~SC79 Up:: IME_chk := A_PriorHotKey = A_ThisHotKey and A_TimeSincePriorHotkey < 300 IME_wnd := DllCall("imm32\ImmGetDefaultIMEWnd", UInt, WinActive("A"), UInt) DetectHiddenWindows, On SendMessage, 0x283, 0x006, IME_chk,, ahk_id %IME_wnd% DetectHiddenWindows, Off Return
102 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/19(火) 16:14:10 ID:eL27GtwT0] 特定のアプリにキーを送らないようにするのってどう書けばいいの? アクティブじゃなくてもキー監視してるようなアプリにALT押しても伝わらないようにする、みたいな
103 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/19(火) 17:04:27 ID:w7qvM9gV0] ALT押した瞬間にそいつのProcess落として 上がったら再起動みたいなことを考えたけど 騒がしすぎるな
104 名前:名無しさん@お腹いっぱい。 [2008/02/19(火) 19:03:06 ID:Ro3kfoUW0] AutoHotKeyの起動ができなくなりました。 ^0:: MsgBox OK! return AutoHotkey.iniというファイルに上記コードだけ記述してAutoHotkey.exeを実行すると、 Note: The hotkey +AF4-0:: will not be active because it does not exist in the current keyboard layout. このようなダイアログが出て起動できません。アドバイス求ム。
105 名前:名無しさん@お腹いっぱい。 [2008/02/21(木) 14:46:40 ID:Oj5PAiTN0] 少し教えてください。 AHKで全てのキー入力を受けつけないようにするには、どうすればいいでしょう? どこかで見たような気がするのですが、失念してしまいまして。。。
106 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/21(木) 14:57:41 ID:Oj5PAiTN0] すいません、BlockInput,On でした
107 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/21(木) 16:38:07 ID:Iioijznk0] clipboad中にある複数行文字列の各行頭に_をつけたいのですが、 RegExReplace(clipboard, "(^|\A)", "$1_")ってやってもうまくいきません。 「$」でも各行の先頭として扱われるはずなんですが・・・
108 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/21(木) 17:09:11 ID:VNWGrxeP0] RegExReplace(clipboard, "\n", "$1_") 根本的解決かは分かりかねます
109 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/21(木) 18:13:01 ID:j1dzQgRf0] >>107 RegExReplace(Clipboard, "m)^", "_")
110 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/21(木) 18:13:26 ID:Kx0P4/xT0] RegExReplace(Clipboard, "(^|\n)([^$])", "$1_$2")
111 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/21(木) 18:17:26 ID:Kx0P4/xT0] げ、リロードしてなかった。なにそれm)なんてあったのか AHKのおぷすおんかorz
112 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/21(木) 18:50:35 ID:XbxI3LX6P] 正規表現で""の間の文字を取得したいのですがどうすればいいでしょうか?
113 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/21(木) 19:08:08 ID:XbxI3LX6P] これだとよく分からないな RegExReplaceでhtmlファイルから""で挟んであるファイルパスを取得したいのですが "をエスケープする方法が分かりません、教えてください
114 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/21(木) 19:35:59 ID:VNWGrxeP0] >>20
115 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/21(木) 21:37:15 ID:XbxI3LX6P] >>114 すみませんでした、まさか上にあったとは・・・
116 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/23(土) 02:50:41 ID:I9fxWkUy0] 集中して作業してるときに裏で定期的に2chブラウザを更新させたいんですけど アクティブの時はちゃんと動作するのに非アクティブのときは動作してくれない #Persistent SetTimer,OnTimer,180000 return OnTimer: DetectHiddenWindows,On ControlSend,,{F5},jane return こう記述して動かしたんですが打開ヒントください