- 1 名前:名無しさん@お腹いっぱい。 [2008/12/31(水) 12:39:34 ID:ROX9gd900]
- ■公式
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/ 5 pc11.2ch.net/test/read.cgi/software/1201502896/ 6 pc11.2ch.net/test/read.cgi/software/1219130051/ 関連リンク>>2以降も参照
- 787 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 00:11:36 ID:KKp3NETS0]
- 等価だよ
IfEqual, Var1, %Var2% If Var1=%Var2% If (Var1=Var2) こういうのも通るし count=0 Loop { If (count++==3) Break MsgBox, % A_Index }
- 788 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 01:01:30 ID:E1vvN/jt0]
- >>787
ありがとう 最後の例はすごいな そういう発想はなかった
- 789 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 08:49:47 ID:XnR93Z5I0]
- >>679 の := の話と似てるな
:= や if() は、式を書ける分だけ一般の高級言語に近い仕様 ahkは発展途上の過程で色々盲腸的な部分が残ってるんで分かりにくいね
- 790 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 09:00:55 ID:tUgDcu7Y0]
- >>787の3つのIF、速度が違ったりするのかな
- 791 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 11:14:37 ID:KKp3NETS0]
- ちょっとテストしてみた。1万回ループしてms単位の差がでてきた。
バッチ的に回すにしても他の処理の方が圧倒的に重いだろうし、気にするほどじゃない。
- 792 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 14:00:29 ID:tUgDcu7Y0]
- >>791
てことは if() に統一して問題無さそうだね。ありがと。
- 793 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 15:18:00 ID:6TUioa2p0]
- if()で使うけど、結局は%%つけちゃったり、""をつけ忘れたりする。
- 794 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 17:58:54 ID:cLThndOM0]
- 既出かもしれんが、autohotkey も、なでしこ みたいにbat偽装しても動くんだな。便利だわ。
;@echo off ;"%~dp0Autohotkey.exe" "%~0" %* ;exit ;rem Autohotkey.exeのあるフォルダに hogehoge.bat で保存。 ;rem このバッチにファイルをドロップしてみる。 ;rem 下記にAHKのスクリプトを記述する。 tmpLimit=%0% Kari:="" Loop { KariI:=%A_INDEX% KariR:=chr(13) kari=%kari%%KariI%%KariR% if(tmpLimit=A_INDEX) break } msgbox,%kari%
- 795 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 18:10:30 ID:BorXmBFr0]
- >>794
できない言語を探す方が難しいと思うよ
- 796 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 18:21:57 ID:lIOj1va90]
- >>794
bat偽装っていう意味がわからないんだけど、どんなシーンでなんのメリットがあるの?
- 797 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 18:48:08 ID:cLThndOM0]
- >>796
Autohotkey.exeがハードディスクにインストールしてない環境や、 関連付けしてない環境でAhkスクリプトを実行したいときに便利かもしんない。 >>795 よく使ってるUWSCは拡張子をチェックしてるみたいでBatだとはねられちゃった。 なでしこも出来るわな。Dosの複数行をコメントや変数でエラーにならんように 誤魔化せて、拡張子チェックしてない場合はいけそうだ。
- 798 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 20:02:51 ID:c0gmFX8Z0]
- 他のアプリからパスを受け取るコマンドってないんですか?
- 799 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 20:13:23 ID:KKp3NETS0]
- その他のアプリがパスをくれるなら、引数なりドラッグ&ドロップなりで煮るなり焼くなりなんなりと。
くれないならアドレスバーとかタイトルバーとかから読む。
- 800 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 20:45:45 ID:c0gmFX8Z0]
- >>799
こういうのがしたいとおもって FileAppend, ( これは %ぱす% です ),D:\aaa.txt うまくいえないので半年ろむってます
- 801 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/29(水) 19:08:35 ID:k0T7d2ZLP]
- %1%
- 802 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/30(木) 17:50:27 ID:kybyWs4G0]
- /* hogehoge.js JscriptのスクリプトからAutohotkeyのスクリプトを使うのもOKだった
;*/ //ここからは jscriptのスクリプト Autohotkey.exeの有る場所に置いて実行。 var 変数 = "豚インフルエンザでも海外旅行";WScript.Echo(変数); var 引数空白付けて2重引用符で囲む=" "+"B"+" "+"\""+"jscriptから引数を渡す"+"\"" var 戻値 = 関数autohotkeyexeで自身のスクリプトを実行_引数空白2重引用符(引数空白付けて2重引用符で囲む); WScript.Echo("Window Script Host = AutohotkeyからのStdOut = " + 戻値); function 関数autohotkeyexeで自身のスクリプトを実行_引数空白2重引用符(sArg){ var objshl = new ActiveXObject("WScript.Shell"); var pAutohotkeyExe = WSH.ScriptFullName.substring(0,WSH.ScriptFullName.length - WSH.ScriptName.length)+"autohotkey.exe"; var objExec = objshl.Exec("\"" + pAutohotkeyExe + "\"" + " " + "\"" + WSH.ScriptFullName + "\"" + sArg); do{WScript.sleep(200)}while(objExec.Status == 0); //条件が合っている間はloop 戻値を取得 if(objExec.stdout.AtEndOfStream){var result = objExec.stderr.ReadAll();var serror = 1} else if(objExec.stderr.AtEndOfStream){var result = objExec.stdout.ReadAll()} return result} ;/* */ ;/* // ここからはAutohotkey のスクリプト Arg1=%1% Arg2=%2% Fun%Arg1%(Arg2) FunA(sMes){ FileAppend,%sMes%,* } FunB(sMes){ Msgbox,Jscriptからもらった = %sMes% FunA(sMes) } ;*/
- 803 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/30(木) 18:03:27 ID:/B3Hmf7f0]
- でっていう
- 804 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/30(木) 19:01:28 ID:SRqHNfq20]
- 素晴らしい中身の薄さにワロタ
- 805 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/30(木) 19:07:22 ID:kybyWs4G0]
- >>803
SFCminiとかDynaWrapperをインストール出来ない環境で、 jscriptからDLLを使ったり、アプリのウィンドウを制御したり、 ドロップ可能なGUIを使える程度かなw Suppon.exeからでもDLL使えるんでいろいろできそうだけど Autohotkey経由のほうが楽。HTAより凝ったことが出来そう。
- 806 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/02(土) 02:30:29 ID:V4O1Kqdz0]
- タスクバーの上からGUIを貼り付けていろいろ改造してるのですが、
現在のテーマがLunaかClassicかを判別する、ウマイ方法はないでしょうか? 現状、タスクバーの太さ(高さ)で判別していて一見うまくいってたのですが、 「タスクバーを固定する」をONにしている環境だと、LunaでもClassicでも 高さが22で同じになってしまい、判別できなくなってしまいました。
- 807 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/02(土) 02:44:30 ID:tK7xHrIL0]
- questionbox.jp.msn.com/qa3095644.html
- 808 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/02(土) 02:57:12 ID:V4O1Kqdz0]
- 即レス感謝!おかげさまで解決できました
- 809 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/02(土) 17:58:20 ID:8PsslnK50]
- WheelScroll.ahk の作者さん、ここ見ていらっしゃいますか?
マルチモニタサブモニタ側 (座標がマイナス値) でホイールが利かないようなのですが、どこを直せばいいものやら… ヒントをいただければ幸いです。 AHK 1.0.48 Vista SP1 ロジクールのマウスドライバ SetPoint 4.60.122 を併用
- 810 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/02(土) 19:34:18 ID:ui+UUCsN0]
- >>809
どもです。一応座標値0,0基準での決め打ち動作などはさせていないはずなんですが WheelRedirect()内の CoordMode,Mouse,Screen MouseGetPos,mx,my,hwnd,ctrl,3 で取ってるマウス座標値が怪しい気がします。これが正しくマイナス値でとれてない場合 GetScrollBarHwnd()での座標比較でこけてる可能性があります。 1.スクリプト殺したノーマルの状態で通常のホイールが効いているか 2.ToolTip,mx=%mx% my=%my% とか追加して値がマイナス値になってるかどうか 3.互換モード(WM_SCROLL)で動かした場合も動かないのか 4.管理人さんのホイールリダイレクト で正常に動くかどうか lukewarm.s101.xrea.com/myscripts/WheelRedirect.zip あたりを調べてみてください。 ちなみにサブモニタは左と上のどちらでしょうか? あー、もう一週間くらい風邪が治んない。頭痛すぎてモノ考えられないっす GW前に医者行っとけば良かったわ
- 811 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/02(土) 20:52:47 ID:8PsslnK50]
- >>810
早速のご返信ありがとうございます。 実はマルチモニタは勤務先のマシンなので連休明けまで確認できません。 調べがつき次第、またここで報告させていただきます。 ちなみにサブモニタは左です。 風とのこと、どうぞお大事になさってください。インフルじゃありませんように。。。。
- 812 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/02(土) 21:55:34 ID:17i2D6iq0]
- A_EventInfo 分だけ WM_MOUSEWHEEL を Post してるけど、
wParamの上位ワードを ±120*A_EventInfo にしてもいいんじゃないかと思う
|

|