1 名前:名無しさん@お腹いっぱい。 [2005/10/21(金) 04:31:53 ID:qy14hWPT0] If You = beginner Read, Template, >>2-6 Previous Thread:: AutoHotKey Thread pc7.2ch.net/test/read.cgi/software/1098531338/ If Res > 950 Please, Build, NextThread
555 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/27(月) 02:23:25 ID:A+gy7pJs0] とりあえずGETした値に|や&~でスタイルを足したり引いたりしないと駄目かと
556 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/27(月) 10:22:33 ID:NeNYGSjC0] AutoHotkeyでfenrir風スゴス
557 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/27(月) 10:28:09 ID:j85wo7Eo0] 神
558 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/27(月) 11:44:42 ID:oF4YUTyr0] >>556 どこ?
559 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/27(月) 11:59:01 ID:TYvekXx40] ぬるど
560 名前:552 mailto:sage [2006/02/27(月) 14:03:58 ID:tOahKDvK0] >>555 うっかりしてました。 SendMessage,0x438,0,0x52009B45,ToolbarWindow322,ahk_class Shell_TrayWnd これで「平らなタスクスイッチ」は実現できました。 ただ、同じように SendMessage,0x438,0,0x56008B4D,ToolbarWindow321,ahk_class Shell_TrayWnd とやっても何故か「平らなトレイ」はできません。
561 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/27(月) 15:59:24 ID:rTfpn8m/0] デスクトップ上やエクスプローラーで、マウスが掴んでいたり、選択状態にあるファイルの収得って出来ます? 選択されてるファイルを移動したり、エディタで開いたりといった、一括処理をしたいんです。
562 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/27(月) 16:36:23 ID:8205XDO60] 流行らせるページや、なまず日記さんのところにある修飾キーの複数回押しに機能を割り当てる スクリプトを使用したいのですが、キーを長押ししたときに連続入力されて複数回実行されてしま います。 これを回避するために修飾キーの長押し時の連続入力?を無効にして、長押し時は1回の入力と する方法があれば教えていただけないでしょうか。
563 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/27(月) 18:13:11 ID:tOahKDvK0] >>561 ファイラー、スクリプト、ソフトなどでパスを一度クリップボードに送ればできますよ。 >>562 KeyWaitを使えばできます。おそらく。 流行らせるページの例を拝借しますが、 ~Ctrl:: if A_TickCount < %ctrldouble% { ;some action ctrldouble=0 } else { KeyWait,Ctrl ;これを追加 ctrldouble=%A_TickCount% ctrldouble+=400 } return
564 名前:562 mailto:sage [2006/02/27(月) 18:29:23 ID:8205XDO60] >>563 ありがとうございます。 思っていたとおりの動作をしてくれました。 コピーをしようとして、設定していたアプリが多重起動したときは焦りました。
565 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/27(月) 21:49:57 ID:A+gy7pJs0] >>560 立体的になってるのは枠の部分だから WinSetでWS_EX_CLIENTEDGEとかを消してやればいいんじゃない?
566 名前:552 mailto:sage [2006/02/27(月) 22:38:27 ID:tOahKDvK0] >>565 関係ありそうな、Shell_TrayWnd・TrayNotifyWnd1・SysPager1 の3つのウィンドウでExStyleを取得してみましたが どれにもWS_EX_CLIENTEDGEはありませんでした。
567 名前:552 mailto:sage [2006/02/27(月) 23:42:36 ID:tOahKDvK0] TrayNotifyWnd1からWS_EX_STATICEDGEを外すことで解決しました。 Control,ExStyle,0x0,TrayNotifyWnd1,ahk_class Shell_TrayWnd あとは「タスクスイッチにアイコンのみ表示」「スタートボタンを隠す」の2つ。 スタートボタンはControl,Hideで隠すことはできるんですが、 隠した場所が空白になってしまいます。 空白を埋めるようにウィンドウやコントロールを左に移動してもうまくいきませんでした。
568 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/01(水) 02:50:36 ID:ssfeeMo60] 流行らせるページの虫眼鏡、どうも挙動不審で使ってると拡大された画像が更新されなくなるんで、 なんでかなぁっておもってたんだけど、もしやDC絡みかなと思って、Draw()呼ばれる度に 取得と解放するようにしたら、タイマー小さくしてもぬるぬる動くようになったーよ。 カクカクしちゃうのはAHKの限界だと思ってたのでびっくりした。 以下修正した部分。 ;省略 Gui,+E0x00080020 ;myhdc:=DllCall("GetDC",UInt,myhwnd,UInt) ;コレ削除 dthwnd:=DllCall("GetDesktopWindow",UInt) ;dthdc:=DllCall("GetWindowDC",UInt,dthwnd,UInt) ;コレ削除 SetTimer,Timer,100;ここ小さくしてもスムーズに更新されるようになったです。 Timer: Draw() return Draw(){ global Size,Magnification,myhwnd, dthwnd ;ここ変更 myhdc:=DllCall("GetDC",UInt,myhwnd,UInt) ;コレ追加 dthdc:=DllCall("GetWindowDC",UInt,dthwnd,UInt) ;コレ追加 CoordMode,Mouse,Screen ;省略 DllCall("StretchBlt",UInt,myhdc,Int,0,Int,0,Int,s,Int,s, UInt,dthdc,Int,left,Int,top,Int,Size,Int,Size,UInt,0x00CC0020) DllCall("ReleaseDC", UInt, myhwnd, UInt, myhdc) ;コレ追加 DllCall("ReleaseDC", UInt, dthwnd, UInt, dthdc) ;コレ追加 WinSet,Top,,ahk_id %myhwnd% }
569 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/01(水) 05:39:49 ID:ssfeeMo60] やべぇ、虫眼鏡気に入った。 半透明化するとカコイイし使いやすい。 旗+ホイール回転で拡大縮小にしたらこれまた良い感じだ。 Ctrl+旗+ホイール回転でサイズだけ変えるようにしたらまたこれが良い感じだ。 管理人さんコレ結構使えるよありがとう。
570 名前:名無しさん@お腹いっぱい。 [2006/03/06(月) 15:39:50 ID:15ZX1WmO0] マルチモニタで使用しています。 WinMoveでウインドウを反対側のモニターに移動させようとしたら、ウインドウが最大化の状態では 移動できないんですね。なんか対策方法ってありますか?
571 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/06(月) 22:08:11 ID:dAP1bHHq0] 起動中のスレッドの数を取得する方法ってありますか? 一応 ListHotkeys の Running で調べることはできるんですけど、 スクリプト内でスレッドの数を取得することができないで悩んでます。
572 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/07(火) 19:31:53 ID:6lI/W0at0] 1.0.42.05 - March 6, 2006 This is functionally identical to the previous release, whose EXE and BIN were about 1% larger than they should have been due to a compiler quirk. 1.0.42.04 - March 6, 2006 Fixed ClipboardAll when used with apps such as Word and Excel (broken by previous version). [thanks Roussi Nikolov] Fixed ClipboardAll to prevent appearance of bookmarks in MS Word. [thanks Laszlo & 02clams] Fixed A_TimeIdlePhysical being disrupted by simulated AltGr keystrokes. [thanks skrommel] Fixed Send{Blind} causing sticking Win/Ctrl/Alt/Shift when the user released such a key in the middle of a Send. Improved the Send command not to press and release the shift key after each uppercase letter (e.g. Send ABC). Improved SoundSet/Get to support ComponentType "Headphones". [thanks Tobias Winkler]
573 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/08(水) 01:17:49 ID:vfUm781w0] A:: Send,{F1} B:: Send,[F2} ... とやってすべてのキーに対して IfWinActive,TargetWindowTitle { Send, {???} return } したいと思ったら個別に全部書かないといけないの?
574 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/08(水) 01:33:04 ID:4eMMzOAe0] 今ならこれで行ける A:: #IfWinActive nanntoka A:: #IfWinActive kantoka A::
575 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/08(水) 06:52:36 ID:+kxWwRRD0] 格ゲーのコマンドを空いたボタンにマクロ化しようと思ったんだけど 十字キーをどうsend,{}に書けばいいのかわからない… 教えてください、お願いします
576 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/08(水) 10:37:30 ID:h+DqYquz0] Send,{Right} Send,{Down} Send,{Right} じゃだめなの?(昇龍拳)
577 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/08(水) 11:54:15 ID:p4FMmfTv0] 1.0.42.06 - March 7, 2006 Fixed crash of A_ScriptDir (broken by 1.0.42.01).←これがぬるタソがバグレポートしたヤツかな? Fixed Run/RunWait's passing of an extra space character at the end of the parameter list when launching shortcuts. [thanks arbe] AutoHotkey.comなんかもの凄く重い・・・ なにわともわれ、ぬるたんGJ!!
578 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/08(水) 14:27:59 ID:+kxWwRRD0] >576 言葉が足りなくてすまん、 えーと、 joypadからの入力としてはどう書くのかなーと。 ボタンは1joy5とかでなんとかなるんだけど 方向キーのjoyXとかの書き方が良く解らなくて。
579 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/08(水) 16:20:21 ID:rhy9UwrA0] >>578 lukewarm.s101.xrea.com/KeyList.htm
580 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/08(水) 22:08:54 ID:+kxWwRRD0] >579 いや、そりゃそこも見てるんですよ? ただ十時キーの場合右、中、左を 0〜100とかの数値で表さなきゃいかんじゃないですか? それをどういう書き方で書けばいいのかと思いまして。 状態はわかってもsendは出来ないのかな…
581 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/08(水) 23:49:20 ID:gQ7VQesu0] >>580 デジタル十字キーは、ボタンのどれかにマッピングされてるはずだが アナログなら書いてある通りだ
582 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/09(木) 11:08:17 ID:jj4ahRjB0] >>577 ぬるタソって誰?
583 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/09(木) 14:40:31 ID:Pszy413S0] ぬる様を知らないとは・・・。
584 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/10(金) 04:18:48 ID:w2FftydU0] 自分のスクリプトの設定ウィンドウを作りたいんだが ボタンとか部品を値で指定するのが面倒です GUIを設計するのに便利なツールってありませんか? AHK用でなくても 部品の位置(X,Y座標)、width,heightなどが分かればいいんです 私はプログラムを組んだのは CUIベースのやつをちょこっと触ったくらいなので GUIを作るのに便利なツールとかホントよく分からないのです。 どなたかお願いします
585 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/10(金) 04:31:56 ID:ze2+cAQ/0] >>584 便利かどうかは知らんけど、こんなのはある。 ttp://www.autohotkey.com/docs/SmartGUI/
586 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/10(金) 04:54:34 ID:FWnM8tqy0] 必要最小限の記述だけでとりあえず入力できるウィンドウが出せるだろ Delphiのフォームエディタなんかでペタペタ並べていくより楽だと思うが
587 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/10(金) 10:18:45 ID:w2FftydU0] >585 AHK用のやつをAHKで作ってた人いるんですね。 少し触ってみたんですがなかなか良さそうなので シコシコぺたぺた作ってみます。 ありがとうございました >586 自己満足ながらそれなりの見栄えがほしいのですわ 身内にまわすつもりのスクリプトなんで
588 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/10(金) 16:54:00 ID:DvP0u0ni0] 本来1行に書かなければいけないものを 複数行に渡って書くことはできないでしょうか?
589 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/10(金) 18:04:06 ID:ovxrZJOi0] 例えば?
590 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/10(金) 19:00:52 ID:3lX6WYxo0] If 1 Contains あいうえお,かきくけこ,(…) って時に分けたいなあって時はある。
591 名前:588 mailto:sage [2006/03/10(金) 20:41:18 ID:DvP0u0ni0] >>589 If(WinActive(........) || WinActive(..........) || WinActive(..........) || ..) などの時です
592 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/11(土) 01:39:11 ID:+FW9TX3p0] IME on/off トグルはどのようにすればできますか。 探してみたのですが見つかりませんでした。
593 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/11(土) 02:03:00 ID:4Dr+/V140] 原始的な方法は IME ON/OFFを IMEプロパティから適当なキーに設定して それをSend。
594 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/11(土) 02:08:22 ID:91GIDUrj0] >>592 具体的にどういう用途に使うの? AutoHotkeyを流行らせるアップローダの029.zip使えば解決するとは思うけど。
595 名前:592 mailto:sage [2006/03/11(土) 11:16:04 ID:+FW9TX3p0] >>593 ありがとうございます。 英語キーボード なので、Alt+`がデフォルトのIME On/Offなので これをやったのですがうまくいかなくて。 RAlt:: Send,!` とやってみたのですが、何が間違っているのでしょうか? >>594 上に書いたとおり、英語キーボードだとIME起動がちょっと面倒なのです。 今は窓使いの憂鬱で右AltをIME On/Offにしていますが、 まずAHKでも同じことができれば、AHKの他の機能も試用してみたいと思いました。
596 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/11(土) 12:52:01 ID:aZXYdYak0] Send, {ALTDOWN}`{ALTUP} こう書くんじゃないの?
597 名前:592 mailto:sage [2006/03/11(土) 13:01:55 ID:mSorvu8J0] >>596 試してみましたが、フォーカスがメニューに移る、通常のAltキーの動作しかしませんでした。 AHKのOpenメニューで見てみましたが、{ALTUP}{ALTDOWN}となっていて、 やはり右Altとしては認識されていないようです。
598 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/11(土) 17:28:31 ID:/NprAL2G0] `は``とエスケープしないと
599 名前:yy [2006/03/12(日) 00:16:48 ID:gfXzHMTR0] マウスのホイールup、downをタブ切り替え(ctrl+up、down)に割り当てたいんですが どうやるの?
600 名前:yy [2006/03/12(日) 00:18:28 ID:gfXzHMTR0] 書き忘れましたが、エクセルでの話です。
601 名前:yy [2006/03/12(日) 00:20:21 ID:gfXzHMTR0] またまた書き忘れましたがマウス+ホイールup、downの動作のことを言いたいのです。
602 名前:592 mailto:sage [2006/03/12(日) 01:48:47 ID:flSoepXq0] >>598 できました!! RAlt:: Send, {ALTDOWN}``{ALTUP} これで右AltでIME On/Offができるようになりました。 窓使いの憂鬱では、押しただけのときはIME On/Off、 押しっぱなしにしてほかのキーと同時に押したときはAltの役割ができたのですが これをさせるにはどうしたらいいでしょう。 RAlt up:: Send, {ALTDOWN}``{ALTUP} とやると、右Altを離した瞬間にIMEが切り替わってしまいます。
603 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/12(日) 12:01:42 ID:7/ujbqoZ0] そういうのはマウ筋使った方が早いな>yy
604 名前:592 mailto:sage [2006/03/12(日) 12:11:54 ID:MzJzCq0O0] >>601 はまだ自己解決していないのですが、ほかにも問題が生じてきました。 英語102キーボードなので、デフォルト設定ではCapsLock単押しでCapsLock On/Offになりますが、 これを某アプリケーションのホットキーにし、もとのCapsLockをShift+CapsLockに割り当てようと思っています。 (日本語キーボードと同じCapsLockにしたい) そこで、 CapsLock:: Run, "application_path" +CapsLock:: Send, {CapsLock} としたところ、アプリケーション起動はうまく行きましたがShift+CapsLockが動きません。 SetCapsLockStateを使いたいのですが、On/Offの切り替え方法が具体的にわかりません。 探してみるとAHKではCtrlとCapsLockの交換が難しいとかそんな情報は見かけたのですが、 結局方法が記載されたページが見つけられませんでした。またここの過去ログも参照できませんでした。 基本的な質問が続き申し訳ありませんが、よろしくお願いします。
605 名前:592 mailto:sage [2006/03/12(日) 13:37:35 ID:MzJzCq0O0] >>604 +CapsLock:: GetKeyState, state, CapsLock, T MsgBox, %state% Return とやってサブルーチンが実行されているかを試しましたが 期待したメッセージボックスも出ず、どうも+CapsLock::の記述がダメそうです。 +{CapsLock}::もうまくいきません。
606 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/13(月) 13:28:27 ID:+eLuhcrb0] コントロールの座標を取得する方法は載ってるけど Guiで生成したウィンドウの絶対座標(スクリーン座標?)を取得する方法が分かりません。 WindowsMessageを送ればできるような気もしますけど そんな事したことないのでどうやるのかさっぱりです。 どうすればウィンドウの座標を取得することができるんでしょうか?
607 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/13(月) 14:00:56 ID:HyKmrYHA0] WinGetPosじゃ駄目なん?
608 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/13(月) 18:33:26 ID:+eLuhcrb0] Guiの方ばっかり見てて Windows関係の命令見てませんでした。 WinGetPosでいけますね、失礼しました。
609 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/15(水) 22:02:26 ID:mmGkRpsk0] 質問です。 以下のような書き方をした場合、5行目に何か(この場合はsleep)を入れないと次のifがすっ飛ばされるのですが、この書き方はだめなんでしょうか。 sleepじゃなくても、msgboxでもa=1でも、何か1行入っていれば思った通りに動作します。 が、この行を消したりセミコロンでコメントにすると次のifがとばされるようなので。 ;_____________________________________ StringLen, length, strings if (length = 0) ,continue sleep,1 if (i=1) FileCreateDir, %dir%\%name_no_ext%\ ;_____________________________________
610 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/15(水) 23:01:58 ID:4MPDWD0K0] >if (length = 0) ,continue
611 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/15(水) 23:05:41 ID:4MPDWD0K0] 途中送信してもうた continueはLoopの中でしか使えないんジャマイカ どっちにしてもカンマで区切って一行に納めるのはNGだったと思う 最近バージョンアップチェックしてないので、記述ルール改定されてたらスマソ
612 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/16(木) 00:18:25 ID:+vsjFQ220] ;_____________________________________ StringLen, length, strings ifEqual, length, 0, continue ifEqual, i, 1, FileCreateDir, %dir%\%name_no_ext%\ ;_____________________________________
613 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/16(木) 00:24:01 ID:n0WmmFt40] >>611 すみません、これLoopの中です。 で、ご指摘の通り if (length = 0) { continue } にしたらちゃんと動きました。 流行らせるページのIfInStringの説明にカンマで区切ってOKとあったので、このifでも気にせずカンマで区切ってました if単体だとカンマ区切りは動作がおかしくなることあるのかな…?
614 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/16(木) 00:26:15 ID:n0WmmFt40] >>612 すごいスマートです。 ifEqualを使えばよかったんですね。 ありがとうございます。
615 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/16(木) 00:28:52 ID:n0WmmFt40] 流行らせるページを再読したら >IfEqualのようなコマンド名の形式の場合、更にカンマで区切って条件に一致した場合に実行するコマンドを記述できる。 しっかり書いてありました。お騒がせしました。
616 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/16(木) 00:49:17 ID:+vsjFQ220] ただし、コマンドしか使えないみたいなので気を付けて。 Another command can only appear on the same line as the IF statement if you use the command-name style. In other words, these are valid: IfEqual, x, 1, Sleep, 1 IfGreater, x, 1, EnvAdd, x, 2 ←EnvAddはコマンドなのでこれは正しい記述。 But these are not valid: if x = 1 Sleep 1 IfGreater, x, 1, x += 2 ←これは式なのでNGらしい。 if文まわりはややこしい・・・
617 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/16(木) 03:28:29 ID:+IJnHcux0] ややこしくなるから if(式){ } その他のIFコマンド { } 以外は使わない方がいいよ
618 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/16(木) 08:32:10 ID:xM7XPfwl0] システム以外のマウスカーソルの情報を取得する方法ってありますか? A_CursorでUnknownになってしまうようなカーソルを知りたいのです
619 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/17(金) 17:44:33 ID:FiSk8Qjk0] Hotkey sでループをスタートさせて、無限ループになってしまった場合に Hotkey hで止めたいのだけれど、どうすれば良いのでしょうか?助言おねがい。 s:: Loop { 〜処理〜 if abc = 1 break } return h::ExitApp
620 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/17(金) 17:47:47 ID:wtxnAtBP0] >>619 何故その記述では駄目なのか、ってことを書かなきゃ助言しようがない
621 名前:名無しさん@お腹いっぱい。 [2006/03/17(金) 18:12:51 ID:zTH699bB0] それで動くかどうか検証めんどいからしないけど 無理だっていうならループ内でsが押されてる状態かを毎回判断すればいい
622 名前:619 mailto:sage [2006/03/17(金) 18:38:40 ID:FiSk8Qjk0] Sleepいれてみたら止めることができました。 くだらないことでスレ消費してごめんなさい。 レスありでした>620、621 s:: Loop { 〜処理〜 Sleep, 0 <-ここ if abc = 1 break } return h::ExitApp
623 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/17(金) 18:49:03 ID:FiSk8Qjk0] またきました。sとhでスクリプトを終了させないままスタート/ストップを繰り返すために 以下のようにしたんですが、もっと上手いやり方とかありますか?添削おねがいします。 s:: loopflg = 1 Loop { 〜処理〜 Sleep, 0 if abc = 1 break } abc = loopflg = return h:: if loopflg = 1 abc = 1 return
624 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/17(金) 19:03:44 ID:LwsXg2Qc0] 一時的なデバッグで永久ループから脱出したいって話じゃなかったのか? 一旦リセットしたいなら h::Reload
625 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/17(金) 19:08:49 ID:qaI2qrDX0] >623 GetKeyStateじゃだめなの?
626 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/17(金) 20:28:40 ID:68vIds2k0] KeyWait ってのもあるでよ
627 名前:623 mailto:sage [2006/03/17(金) 21:47:02 ID:hFQNB0xp0] >624 最高。今回の目的にバッチリ適合です。 デバッグが楽になったのも思わぬ収穫^^ s:: Loop { 〜処理〜 Sleep, 0 if abc = 1 break } return h::reload
628 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/17(金) 21:47:42 ID:hFQNB0xp0] >625のもやってみた。 s:: Loop { 〜処理〜 Sleep, 0 if abc = 1 break GetKeyState, state, h, P if state = D break } return これも目的の動作はしたけど、今回は>624案を採用。 >626のはLoopを抜ける時どう使うのか分からず・・・orz 皆様レスありでした。
629 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/17(金) 22:09:21 ID:Op8Q/jkU0] DonationCOdeでなんかおもしろそうなんが出てた
630 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/17(金) 23:10:59 ID:SD1TlI3h0] >>628 便利! ワンキーでできないかな? s:: cnt++ Loop { Sleep, 0 If cnt > 1 { Exit } } cnt-- Return これは駄目みたい…。
631 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/17(金) 23:41:10 ID:qaI2qrDX0] >>630 これでいけるっぽい。 #MaxThreadsPerHotkey 1 s up:: if state = D state = else Loop { 〜処理〜 Sleep, 0 if abc = 1 break GetKeyState, state, s, P if state = D break } return ところでデバックってなんだ?
632 名前:630 mailto:sage [2006/03/18(土) 02:14:02 ID:C4FDHepp0] >>631 おおお、素晴らしい。感謝です。 答えを出してもらいながら申し訳ないが、例えば、 Gui, Add, Edit, Gtest ←これ みたいなサブルーチンの中に、今までのサンプルみたく無限ループがあったとして、 同じサブルーチンをもう一回呼び出したときにループを終了させたいときには、 GetKeyStateだと煩雑になる予感。 こういう場合にも、ビシッとループを終了できないかな?
633 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/18(土) 06:53:17 ID:tezGoIoS0] >630 英語HelpのFAQにある How can a repeating action be stopped without exiting the script? って項にあるサンプル使うとワンキーでLoopのスタート/ストップできた。 多重ループで使ってみたいのだけども、もっとエレガントになるかな? #MaxThreadsPerHotkey 3 s:: #MaxThreadsPerHotkey 1 if KeepLoopRunning = y { KeepLoopRunning = return } KeepLoopRunning = y Loop { 〜処理〜 Sleep, 0 Loop { 〜処理〜 Sleep, 0 if KeepLoopRunning = break } if KeepLoopRunning = break }KeepLoopRunning = return ・・・全角スペースいれてます
634 名前:名無しさん@お腹いっぱい。 [2006/03/18(土) 15:20:28 ID:Yl3U5BIi0] スレッド優先度ってマイナスの値入れちゃっても大丈夫ですか?
635 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/18(土) 16:25:48 ID:TCBHEo+A0] つhelp
636 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/18(土) 17:51:05 ID:Yl3U5BIi0] >>635 ありがとう、もう一度読み直してみたら書いてありました。
637 名前:630 mailto:sage [2006/03/19(日) 00:46:48 ID:5zHaODEE0] >>633 サンクス! レス遅くなって申し訳ない。 英語Helpにそれらしいのがあったとは…。読み足りてなかったです。 ホットキー(今回の場合 s::)だと凄いいい感じに動いてるんだけど、 それを Gui, Add, Edit, Gtest とかのサブルーチン(ここでは test:)に置き換ると、 3回目のキー押下時にどうもミスります。 …よく分からないんで、ちょっと考えてみます。
638 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/19(日) 02:23:42 ID:4wBY8TSi0] >>637 そういうのはTimer使った方が楽じゃない? 用途間違えてるかもしれないけど。 Gui, Add, Edit, Gtest GUI, Show return test: if TimerOn = 1 { SetTimer, Timertest, Off TimerOn = } else { SetTimer, Timertest, 55 TimerOn = 1 } return Timertest: count++ if count > 100 count =0 tooltip, てすと %count% return
639 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/19(日) 11:12:31 ID:5zHaODEE0] >>638 ありがとう! まさに求めてたものです。 具体的には、スレッド実行中に新しいスレッドが呼び出されたとき、 後のスレッドは前のスレッドが終了するまで後回しにされるか無視される仕様からか、 スレッドの処理がスルーされるのが少し困ってたんです。 これで、前のスレッドを途中で停止して後のスレッドを実行する、 みたいなことができるぽいです。他にも色々と効用ありますし。 感謝感激、みんなありがとう〜!
640 名前:名無しさん@お腹いっぱい。 [2006/03/21(火) 04:23:15 ID:y745q5bd0] カナロックONの時は Joy1::Send, 3 ; ジョイパット1キーで"あ" を入力 Joy2::Send, e ; "い" を入力 … カナロックOFFの時は Joy1::Send, a ; "A" を入力 Joy2::Send, b ; "B" を入力 … となるようにしたいのですがカナロック状態の取得の仕方が分かりません GetKeyState, OutputVar, vk15, T は試してみたのですが常に OutputVar = D となってしまうようです。 流行らせるページのアップローダにあったIME_Func.ahkも試しましたが IME OFFの時などいくつかの条件ではうまく判別することが出来ませんでした。 外部ツールやDLLを利用する方法でもよいので、もしあれば教えてください。
641 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/21(火) 19:01:49 ID:7BWRBHrs0] 文字列をURLで使える %E5とかに変換する方法ありまっか? Yahooの検索で日本語がうまくいきまへん Proxomitronでも頑張ったんだがなんか無限ループとかで挫折。
642 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/23(木) 07:02:24 ID:8KPbtYSZ0] 1バイトずつチェックして変換するしかないんじゃない? 日本語で検索できないのは、リクエストの文字コード指定が悪い所為のような気がするけど。
643 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/23(木) 11:56:27 ID:37jAp6/q0] >>641 おみとろん使えるなら$ESCでダメか? とスレ違いレスをしてみる
644 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/23(木) 13:58:33 ID:Jwp33SJ00] >>642 うん、基本そうなんだろうけど Proxomitronでがちがちにフィルターしてるから何が何だかわからなくて そちらでやるのをあきらめて最初からあの文字列でINPUTから リクエストできればいいかなあとか思ってしもうた。 >>643 どうもフィルターの相性なのか思ったとおりにならなくてお手上げ中。 も少しがんがってみる。
645 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/23(木) 22:28:27 ID:ZyneQEvmP] このソフトでパスワード入力ソフトの代わりはできますか?
646 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/23(木) 22:35:45 ID:oGkLYudX0] >>645 出来るとは思うけど、素直に既存のソフトを使った方が良いよ。
647 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/24(金) 03:15:07 ID:Se2Qk5Yk0] CapslockにCtrlを割り当てたくて Capslock::Ctrl ; Make Capslock become a Control key. を試してみたのですが, Capslockを離した後もCtrlを押したまんまの状態になります どうすればよいでしょうか?
648 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/24(金) 07:17:30 ID:yvNeSmEP0] キーの履歴を開いてみたらCapslockは押し下げだけ感知して離すのは無視されてるみたい。 どうしてもAHKでCapslockが使いたいのなら押されてから数秒たったらCtrl Upを送信するようにするとか InputでCapslockの次に押されたキーを読んでみるとか方法が無いことも無いんだろうけど とりあえず他のソフトで出来るかどうか試してみては?
649 名前:647 mailto:sage [2006/03/24(金) 08:37:38 ID:Se2Qk5Yk0] CapsLockにCtrlを割り当てるとCapsLock Upが返ってこないですね exeにしてどこでもすぐ使えるようにしたかったのですが…… とりあえずレジストリをいじって解決しました
650 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/24(金) 12:30:27 ID:PCVDLk5L0] 流行らせるページのどっかに記述あったと思うけど Locks系は日本語環境だと正しく取得できない。 OSがドライバレベルでなんかやってる。(ダブルバイト環境共通なのかどうかは知らん) 過去ログでも何度も話題になってる。次スレではテンプレに入れたほうがいいかもね。
651 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/24(金) 12:57:57 ID:TXwdyAWL0] うちだとCapslockで CTRL+C,Vが送られるお。なんだこれって感じ。
652 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/24(金) 12:58:20 ID:vTkQnhytP] >>646 これでできれば、常駐ソフトを減らせるなーと思いまして
653 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/24(金) 20:28:16 ID:zPGcV7l50] 人の作ったahkファイルを、自分のAutohotkey.iniにIncludeで組み込もうとするとき、 モノによってはAutohotkey.iniの#Persistent内にあるSet timerが無効になるんですが、これはどの辺が原因なんでしょう。 流行らせるページにあるのだと、mbstring.ahkはOKだけどInlineCalc.ahkはだめです。
654 名前:名無しさん@お腹いっぱい。 [2006/03/26(日) 00:23:53 ID:b3Nu7QpN0] >653 もしかしてAuto-executeセクション中にIncludeしてないですか?
655 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/26(日) 00:59:36 ID:pjcfpT8Y0] >>654 思いっきりしてました。 AHKのルールあまりよくわかってないんですが、こういう使い方ってNG? AHK2つ常駐させるのがいやで一つにまとめたいっていう場合、Autohotokey.ini内にIncludeで組み込むって言うのは間違った使い方なんでしょうか。