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
151 名前:149 mailto:sage [2005/11/11(金) 04:05:08 ID:khVemMEi0] >>150 なるほど! これはは思い浮かばなかった。 迅速なレスありがとうございます。
152 名前:149 mailto:sage [2005/11/11(金) 04:10:33 ID:khVemMEi0] あ、いやちょっと待って。 よく考えたら全然ダメじゃん。 数秒確認しただけでレスしちゃった。
153 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/11(金) 04:24:46 ID:xFnBvB+A0] returnの前にこれ追加しといて if rest=0 exitapp 的外れだったらすまん。つーか何がダメなんかわからん、とりあえずカウントダウン表示してみただけだし。
154 名前:129 mailto:sage [2005/11/11(金) 04:31:30 ID:khVemMEi0] たとえば、今、○時○分55秒だったとします。 55-55+30=30 55-56+30=29 55-57+30=28 55-58+30=27 55-59+30=26 55-00+30=85 55-01+30=84 こういう計算だと思うんですが・・・・。 私の方が間違っているのかな。
155 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/11(金) 05:53:00 ID:FTok57/z0] A_TickCountつかえ
156 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/11(金) 07:51:44 ID:A6pk7vW20] 時間関係の計算はよくわからんルールになってるぞ 一人で脳使ってないでヘルプ熟読してきなされ
157 名前:名無しさん@お腹いっぱい。 [2005/11/11(金) 18:08:09 ID:KIS/mZVoO] ちょっとくらいヒントをくれてもいいじゃないですか。
158 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/11(金) 18:52:34 ID:A6pk7vW20] とりあえず149はA_Sec参照して何がやりたいんだ? 単純に残り秒数カウントダウンしたいだけなら dwncnt := 30 ;残り秒数 settimer,count,1000 count: dwncnt-- tooltip,%dwncnt% return きちっと精度上げたいならSetTimerの値を小さくして>155が言うようにA_TickCount使う
159 名前:149 mailto:sage [2005/11/11(金) 20:12:02 ID:khVemMEi0] ○時間○分○秒というタイマーも使えるようにしたかったので A_TickCountではなく、YYYYMMDDHH24MISSで記述した物からEnvAddでSecondsを指定して 1秒ごとに-1加算するようにしたら上手くできました。
160 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/13(日) 18:02:11 ID:A/9NzbIG0] あるSetTimerがonの時とoffの時で条件分岐って無理?
161 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/13(日) 19:35:11 ID:N8ylNJMv0] タイマーが動いてるかどうかを調べる方法はなかったはず 自分でフラグ変数用意して現在の状態覚えとくようにすればOKだけど
162 名前:160 mailto:sage [2005/11/13(日) 19:37:47 ID:A/9NzbIG0] >>161 どういうことですか?
163 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/13(日) 19:41:43 ID:5IyRr/ha0] 自分で変数を用意する。
164 名前:160 mailto:sage [2005/11/13(日) 19:53:57 ID:A/9NzbIG0] こんな感じ? SetTimer, ABC, 3000 ST_Flag = on #A:: If(ST_Flag = "on") { SetTimer, ABC, off ST_Flag = off } Else If(ST_Flag = "off") { SetTimer, ABC, on ST_Flag = on } return
165 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/13(日) 21:50:43 ID:N8ylNJMv0] そう、それか↓みたいにしてもいいし #A:: If (interval > 0) { interval = 0 } else { interval = 3000 } SetTimer,ABC,%interval% return
166 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/13(日) 21:52:52 ID:N8ylNJMv0] 0だとOFFにならんのか #A:: If (interval > 0) { SetTimer,ABC,OFF interval = 0 } else { interval = 3000 SetTimer,ABC,%interval% } return
167 名前:160 mailto:sage [2005/11/13(日) 22:19:27 ID:A/9NzbIG0] >>166 なるほど ありがとうございます
168 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/14(月) 03:42:28 ID:tpTqEc+p0] >+Up::send,{PgUp} >+Down::send,{PgDn} >+Left::send,{Home} >+Right::send,{End} こんな風に割り当てますよね。 これをあるウィンドウだけは適用したくないのですが、 そういった場合はどう書けばいいんでしょうか?
169 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/14(月) 05:14:00 ID:h9uxRFHg0] >>168 +Up:: WinGetActiveTitle, ActTitle If(ActTitle <> "割り当てたくないウィンドウタイトル") send,{PgUp} return タイトルで上手くいかなかったらウィンドウハンドル取得して分岐
170 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/15(火) 13:59:54 ID:3R61f5fz0] >>169 どうもです。 169さんの方法だと、一キーずつ割り当てるしかないんですよね。 一気にやる方法があったら、便利だな。
171 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/15(火) 15:34:14 ID:Qg1alPao0] 一気にやるってどういう意味だよ。
172 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/15(火) 16:41:57 ID:g/ADYEbp0] +Up:: +Down:: +Left:: +Right:: WinGetActiveTitle, ActTitle If(ActTitle <> "割り当てたくないウィンドウタイトル") { send,{PgUp} } return
173 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/15(火) 16:44:53 ID:g/ADYEbp0] すまん途中で書きこんでもうた。関数にしてパラメータ指定するようにしたほうがよりスマート +Up:: +Down:: +Left:: +Right:: WinGetActiveTitle, ActTitle If(ActTitle <> "割り当てたくないウィンドウタイトル") { if A_ThisHotkey = +Up send,{PgUp} else if A_ThisHotkey = Down send,{PgDn} : } return
174 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/15(火) 18:16:51 ID:Qg1alPao0] ヒドスwwwww
175 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/15(火) 18:34:11 ID:Fr3rXntL0] +Up:: Ifwinnotactive,XXXX Send,{Pgup} return これで全部書いたほうが短かくてわかりやすい気がするのだが
176 名前:名無しさん@お腹いっぱい。 [2005/11/16(水) 01:46:01 ID:EX3GaO8n0] 任意のアプリのタスクトレイアイコンを非表示にすることってできないでしょうか? わからないなりに調べてみたらShell_NotifyIconというAPIがあるようなので これをDllCallで呼びせさばできそうな気が。 DLLについてはまったくの初心者なので今奮闘しています。
177 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/16(水) 02:17:34 ID:ExozuSiy0] これって構造体扱えるんだっけ? 構造体扱えなかったらShell_NotifyIconも使えないだろ
178 名前:176 mailto:sage [2005/11/16(水) 13:41:19 ID:EX3GaO8n0] >>177 ttp://lukewarm.s101.xrea.com/commands/DllCall.htm ここの「構造体と配列の扱い」によればできるようなのですが、 いかんせんまだ勉強中なので難しくて
179 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/16(水) 14:43:39 ID:YfyIAE/u0] >>178 うまいこと考えたな〜
180 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/16(水) 16:26:24 ID:ExozuSiy0] 構造体は扱えないけど、逃げ道はあるってことか 面倒そうなので漏れはパス
181 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/16(水) 17:08:15 ID:YfyIAE/u0] >>178 べつに難しく考えること無いよ。外部にあるからDllCall使ってロードしてやらなきゃならないだけで、 考え方は普通の関数扱うのと変わらない とりあえず、そこにある関数コピペすれば構造体に値をセットしたり読み出したりは出来る。 関数の中身は知らなくていい。 一番下のサンプルみれば使い方はわかるはず。
182 名前:176 mailto:sage [2005/11/16(水) 23:23:04 ID:EX3GaO8n0] WinGet, whd, ID, A VarSetCapacity(NotifyIconDate, 24, 0) InsertInteger(whd, NotifyIconDate, 4) DllCall("Shell_NotifyIcon", Int, 0x00000002, Str, NotifyIconDate) Return InsertInteger(pInteger, ByRef pDest, pOffset = 0, pSize = 4) { mask := 0xFF Loop %pSize% { DllCall("RtlFillMemory", UInt, &pDest + pOffset + A_Index - 1, UInt, 1, UChar, (pInteger & mask) >> 8 * (A_Index - 1)) mask := mask << 8 } } わからないなりに作ってみましたが、うまくいかないです。 たぶん色々勘違いしてると思うのですが。
183 名前:名無しさん@お腹いっぱい。 [2005/11/18(金) 03:16:50 ID:/PztpgYi0] テキスト入力欄かどうかを取得するにはどうすればいいでしょうか? If(A_CaretX <> "")だと入力欄でないところでも反応してしまいます
184 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/18(金) 22:11:48 ID:KVZUSxn10] たしかA_CaretXとA_CaretYはエディット以外の場合は コントロールの左上の座標になるから そんな感じで弾けばいいと思うよ
185 名前:183 mailto:sage [2005/11/18(金) 22:16:55 ID:/PztpgYi0] >>184 例えばSleipnirとかJaneとかでテキストを選択してコピーしたら その位置にキャレットがあると見なしてしまいまして
186 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/19(土) 01:56:22 ID:adRLoPdI0] EDITコントロールか否かの判定はControlGetでLine数を取得してチェックしてる。 非EDIT コントロールの場合 0が返るので ControlGet,line_cont,LineCount,,%ctl%,ahk_id %hwnd% if line_cont > 0 { ;テキスト入力欄の処理 } あとSendMessageで EM_xxx あたりの情報を調べるとか。 www.winapi-database.com/Message/EM/ 編集不可だがコントロールはEDIT使ってる場合(AU3_Spy.exeとか)もあるので そういう場合はどうにかしてLoked状態を確認しないといかんかも知れん
187 名前:183 mailto:sage [2005/11/19(土) 02:20:34 ID:EUr5m4mr0] >>186 ありがとうございます ですがライン数取得では上手くいかないものが多くて諦めていましたが、 殆どのクラス名に「Edit」が入っていたのでクラス名取得して分岐するようにしました。
188 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/19(土) 10:46:19 ID:q++McXD/0] >>176 > 任意のアプリのタスクトレイアイコンを非表示にすることってできないでしょうか? これぜひ俺も知りたい。 自分が使ってる常駐ソフトはほとんどアイコン非表示にできるが、1つ2つできないのがある。 XP付属の「アクティブでないインジケータを隠す」はあまり好きではないし。
189 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/19(土) 12:11:21 ID:adRLoPdI0] >>182 試してないしちょっとググって調べて見ただけだが、とりあえずhIconをどうにかして 取得して構造体にセットしてやらんといかんのとちゃうか? NOTIFYICONDATA構造体 Type NOTIFYICONDATA cbSize As Long 構造体のバイト数 hWnd As Long 対象のウィンドウハンドル uID As Long タスクバーアイコンのユーザー定義のID (つまり、アイコンを複数使うときのアイコンの番号のこと) uFlag As Long 有効なメンバを示す定数の組み合わせ uCallbackMessage As Long ユーザー定義のメッセージ (アイコンの上でマウスイベント(クリックなど)が発生すると ウィンドウに送られてくるメッセ―ジ) hIcon As Long 追加・削除・変更するアイコンのハンドル szTip As String * 64 チップヘルプのテキスト (アイコンの上にマウスを1秒くらい置いた時に表示される文字列) End Type
190 名前:名無しさん@お腹いっぱい。 [2005/11/19(土) 12:23:12 ID:iPF8NBAy0] 一応聞くけどautohotkeyでやりたいって趣旨なんだよね フリーソフトを使ったら出来るけど
191 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/19(土) 12:24:18 ID:q++McXD/0] >>190 ちなみにそのソフトとは?
192 名前:名無しさん@お腹いっぱい。 [2005/11/19(土) 13:04:10 ID:z99JDpKz0] 使ったことないけどニュースサイトとかで何種類か見た とりあえず今ぐぐったらコレがあった 常駐しないのがあるかは知らん ttp://www.vector.co.jp/soft/win95/util/se293688.html
193 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/19(土) 13:51:07 ID:adRLoPdI0] タスクトレイ アイコン 整理 でググると TrayManager とか Tray Wizard とかTrayExpand とか出てくる。 TrayExpandはソースも公開してるみたいだし、AHKでやりたいなら参考にしてみては?
194 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/19(土) 14:04:50 ID:0di78jxb0] >>182 とりあえず、戻り値ぐらいみれ。 >>189 トレイアイコンの削除するだけならhIconはいらないが、uIDが必要。 まぁ、既存のソフト使ってしまった方がいいようなきもする・・・AHKでやるメリットあまりないような・・
195 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/19(土) 14:32:32 ID:q++McXD/0] TrayExpandが自分には良さそう これ使うことにします
196 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/19(土) 14:33:46 ID:q++McXD/0] お礼言う前に途中で送信してしまった・・・・ >>192-193 ありがとうございます
197 名前:189 mailto:sage [2005/11/20(日) 05:00:08 ID:zlspGYDE0] >>194 フォローサンクス ええかげんなレスしてスマンカッタ
198 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/20(日) 06:10:35 ID:i5sKQ9wq0] タスクトレイの項目をメニューで表示させることはできるでしょうか? フリーソフトでもこういった感じのソフトは自分で探した限り見つからなかったので 知っている方がいたら教えていただきたいのです
199 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/20(日) 10:52:17 ID:u5r0IAMMO] >>198 >>193
200 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/20(日) 17:09:08 ID:9waBFH8F0] SetTimerってAutoHotkey.iniに書いても動かないの?
201 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/20(日) 19:14:54 ID:zlspGYDE0] 動くよ
202 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/20(日) 20:09:01 ID:9waBFH8F0] >>201 動くのか・・・ 特定のウインドウが表示されたらOKボタンをクリックしたいんだけど .ahkに書くと動くんだけど、AutoHotkey.iniに書いても動かない これじゃだめなの? SetTimer,b,250 return b: IfWinActive,Aterm WARPSTAR { ControlClick,OK,Aterm WARPSTAR return } return
203 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/20(日) 21:37:35 ID:MfpEbr860] 常駐するSetTimerはAutoHotkey.iniの頭に書いて、 サブルーチンをAutoHotkey.iniの終わりに書いてみては 俺はそれで IfWinActive,リンク先を探す,指定したリンク先は、デスクト IfWinExist,ahk_class MSBLPopupMsgWClass などのウインドウを操作できてる
204 名前:名無しさん@お腹いっぱい。 [2005/11/20(日) 21:41:56 ID:Gk4qhKIS0] 多分常駐させてないだけだろ
205 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/20(日) 21:51:08 ID:0DdRRu/u0] SetTimerの上のほうに、Returnかホットキーの設定が書いてある気がする。
206 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/20(日) 22:49:48 ID:zlspGYDE0] ホットキー指定のないスクリプトは #Persistent入れないと常駐しないから
207 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/20(日) 23:56:30 ID:JR1lWgkn0] >>203-206 ありがとう >常駐するSetTimerはAutoHotkey.iniの頭に書いて、 >SetTimerの上のほうに、Returnかホットキーの設定が書いてある気がする。 これだった。無事に動きました。ありがとう
208 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/21(月) 00:06:01 ID:FWsdNj/u0] iTunesを操作させるにはどうしたらいいですかね?
209 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/21(月) 00:18:49 ID:5v2PJ0mq0] 努力したらいいと思うよ
210 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/21(月) 00:39:50 ID:ZVwQTLlG0] >>208 曖昧すぎ。
211 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/21(月) 02:04:10 ID:Nz+dKwd30] >>210 質問がな
212 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/21(月) 21:26:10 ID:OOnUpq930] AutoHotkeyでiTunesを操作させるにはどうしたらいいですかね?
213 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/21(月) 22:37:36 ID:jfEQAnS10] 「:」に対してキーを割り当てたいのですが、うまくいきませんでした。 ::: ←ここでエラー ごにょごにょ 何か他に書き方があるのでしょうか?
214 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/21(月) 23:02:40 ID:Y2LksryB0] lukewarm.s101.xrea.com/KeyList.htm の下のほう 仮想キーコードやスキャンコードで何とか対応しる
215 名前:名無しさん@お腹いっぱい。 mailto:meanbloke777@yahoo.co.jp [2005/11/23(水) 11:44:06 ID:w4Ag56cD0] NetworkStumblerというアプリを最大化で起動して、 その中のウィンドウをさらに最大化しようとしています。 NetworkStumblerが最大化で起動しても、アクティブになるまで 3秒ほどかかります。 起動してから「ALT+w+t」で中のウィンドウが最大化できますが AutoHotkey.iniで下のように書いてもうまくいきません。 最初の最大化で起動のみが成功し、中のウィンドウは変化がありません。 "Send, {LALT}wt"の部分は個別に動作確認できていますので、 その間の記述の仕方が問題でしょうか? #0:: run "D:\apli\netstumbler\Network Stumbler\NetStumbler.exe", , max WinWaitActive, Network Stumbler if ErrorLevel <> 0 Send, {LALT}wt else return
216 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/23(水) 16:33:51 ID:vpU2R36Y0] If の判定が間違ってるのと、Elseが不要(書くならもう一行returnが必要) 子ウィンドウを枠一杯に広げるので満足なら Send,!wt でもいいけど SendMessage使えば本当の最大化もできるよ #0:: run "D:\apli\netstumbler\Network Stumbler\NetStumbler.exe", , max WinWaitActive, Network Stumbler if ErrorLevel = 0 { SendMessage, 0x229, 0,0,MdiClient1,A ;WM_MDIGETACTIVE SendMessage, 0x225, %ErrorLevel%, 0,MdiClient1,A ;WM_MDIMAXIMIZE } return
217 名前:215 mailto:meanbloke777@yahoo.co.jp [2005/11/23(水) 21:55:25 ID:w4Ag56cD0] >>216 ご丁寧にありがとうございます! しかし、<>を=に変更してelse消しても現象は変わらず。 Send, !wtの後にreturn付けても同じでした。 SendMessage使ったやつをコピペでもダメでした。。。orz とりあえず、子ウィンドウを広げられるだけで満足です。 もしかしてErrorLevelが0になってないのでしょうか?
218 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/23(水) 22:40:29 ID:vpU2R36Y0] 大分前に入れた奴なんでバージョン古いけど うちでは上手くいってる XP SP1 Autohotkey Ver 1.0.38.1 NetStumbler ver 0.3.30 とりあえず MsgboxやOutputDebugでErrorLevelの値見たり if msgbox,OK else msgbox,NG とかやって試してみたら?
219 名前:215 mailto:meanbloke777@yahoo.co.jp [2005/11/23(水) 23:56:41 ID:w4Ag56cD0] >>218 ちなみに私の環境は 2000 SP4 Autohotkey Ver 1.0.40.06 NetStumbler ver 0.4.0 >とりあえず MsgboxやOutputDebugでErrorLevelの値見たり そういうやり方があるのですね。 if ErrorLevel = 0 { msgbox,OK return } else msgbox,NG return ↑を試したところ、タイトルバーが青くなる前に 「OK」が出ました。なのでSend, !wtが実行される のが早過ぎるみたいですね。
220 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/24(木) 01:13:43 ID:YIxfmvQf0] Verupしたね
221 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/24(木) 12:40:50 ID:0jaOpLGO0] >>219 MsgBoxに制御が奪われたからアクティブになれなかったってオチじゃないような? そこまでつきとめたら Sleepでウェイトいれてやればよろし
222 名前:215 mailto:meanbloke777@yahoo.co.jp [2005/11/24(木) 22:05:57 ID:3njavchq0] >>218 >>219 おかげさまで望み通りの動作ができました! 感謝します。 ;【NwtStumbler起動】 #7:: IfWinExist, Network Stumbler { WinMaximize WinActivate return } else run "D:\apli\netstumbler\Network Stumbler\NetStumbler.exe", D:\apli\netstumbler\aplog, max WinWaitActive, Network Stumbler if ErrorLevel = 0 { Sleep, 3000 Send, !wt return } else return
223 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/26(土) 13:41:58 ID:cSvLT2hD0] LastFoundWindowってWinWaitで機能しないんですか?
224 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/26(土) 20:49:42 ID:ekIkW6EI0] %1%や%2%はコマンドライン引数が分解されて格納されていますが、 コマンドライン引数全体を表す変数はないんでしょうか?
225 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/26(土) 21:01:35 ID:TeG9pCZU0] >>224 引数を「"」で囲めばだいたい解決すると思いますが Loop, %0% { Part := %A_Index% Unite = %Unite%%Part%%A_Space% } MsgBox, "%Unite%" どうしようもない場面では 「0」に引数の数が入るのでこんなのでどうにかしてます。
226 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/26(土) 21:59:47 ID:m0vUMe840] >FileAppend [, Text, Filename] >ファイル名の代わりに「*」を指定すると、標準出力にテキストを書き出せる。 lukewarm.s101.xrea.com/commands/FileAppend.htm --- test.ahk -------- FileAppend,Hello,* --------------------- コンパイルしてプロンプトで test と打っても文字は何も表示されない。 test > a.txt とリダイレクトさせるとファイルには正常に出力される、何でだろ?
227 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/26(土) 22:33:10 ID:ekIkW6EI0] A_Indexを1度別の変数に入れちゃえばいいのか。 "でくくられていたかどうかが正確には判断出来ないですけど、 実用上は問題ないですね。 ありがとうございました。
228 名前:名無しさん@お腹いっぱい。 [2005/11/27(日) 12:34:40 ID:R5M1hxQO0] Send,{LWin Down}やSend,{LWindown} で押し下げ状態にしたWinキーを元に戻すにはどうすればいいでしょうか? Send,{LWin Up}やSend,{LWin}とやっても戻りませんでした。
229 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/27(日) 15:26:46 ID:GjCd3Btu0] 任意のアプリをタスクバーにボタンを表示しないようにしたいんだけど Gui,+ToolWindowに相当するものってない? ウィンドウスタイルを見てもそれらしいのがないっぽい
230 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/27(日) 16:30:10 ID:m61GJs8S0] 試してないけど 0x00000080 WS_EX_TOOLWINDOW あたりは?
231 名前:229 mailto:sage [2005/11/27(日) 17:10:05 ID:GjCd3Btu0] >>230 見落としてた しかし、小さいタイトルバーになってAltTabメニューにも表示されなくなるけど 何故かタスクバーには表示されたまま 色んなウィンドウで試してみたけど変わらない WinSet,ExStyle,^0x00000080,A
232 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/27(日) 20:16:28 ID:RGnUnyxH0] ひらがなカタカナキ-にaltを割り当てたいのですが *vkF2::Send,{alt Down} *vkF2 up::Send,{alt Up} とするとaltが押しっぱなしになってしまいます 仮想キー押し上げにコマンドを割り当てることは出来ないのでしょうか?
233 名前:名無しさん@お腹いっぱい。 [2005/11/28(月) 08:04:43 ID:QtDqyH5O0] TListViewの情報を取得するにはどうしたらいいでしょうか? ContrloGetのListはSysListVew32のようですし
234 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/28(月) 20:15:46 ID:S9ZDzThA0] コマンドライン引数の取得の仕方がわかったので書いておきます。 GetArgs() { args := DllCall("GetCommandLine", str) StringGetPos, pos, args, %A_ScriptName% StringLen, length, A_ScriptName count := pos + length + 1 StringTrimLeft, args, args, count return args } args := GetArgs() MsgBox, %args%
235 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/28(月) 20:24:26 ID:bOHdUc5Q0] トンクス いただいた。
236 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/04(日) 00:40:06 ID:Boevp9qL0] 解説サイトの説明が糞だな。 窓使いの憂鬱も分かりづらくて導入しにくいところがあったが こっちはさらダメダメ。アホか。 流行らせる気全然ね〜だろ。ぼけだろ。
237 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/04(日) 00:58:39 ID:vf5AX1eU0] 236がアホでぼけで理解力がダメダメなのはわかった
238 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/04(日) 01:06:12 ID:ziZg2yDd0] 単に翻訳してるだけだし その労苦だけでもありがたいと思うけどね
239 名前:233 mailto:sage [2005/12/04(日) 01:53:09 ID:c5I9hufm0] WinAPIやWindowMessageもできるだけ調べましたが、未だに解決できません TListViewの情報取得は無理でしょうか?
240 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/04(日) 11:08:29 ID:MlVaVrV10] >239 TListView って SysListView32 のサブクラスっぽいからそのまま使えるんじゃない?
241 名前:233 mailto:sage [2005/12/04(日) 11:20:41 ID:c5I9hufm0] >>240 もちろん試しました SysListView32のところでは取得できたので記述が間違っているってことはないと思います WindowMessageのLVM_xxxxで色々操作できるみたいなんですが、テキストは取得できないみたいで・・・
242 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/04(日) 11:21:34 ID:t+Kdt+4/0] まだ悩んでいたのかよ ListVewのこたしらんがTEDITもEditコントロールとして認知、制御できるし ControlGetで取れる名称がSysListVew32だっつうなら その名を指定してやれば情報は取れるだろ。
243 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/04(日) 11:22:58 ID:t+Kdt+4/0] できないのか、 ならGontrolGetTextでは?
244 名前:233 mailto:sage [2005/12/04(日) 11:27:01 ID:c5I9hufm0] >>242 Contolの引数のことろにTListViewではなくSysListVew32を指定するってことですか? もちろんやってみましたが無理のようです
245 名前:233 mailto:sage [2005/12/04(日) 11:29:30 ID:c5I9hufm0] >>243 それも試しました いくつかのアプリで試しているので取得したいアプリが特殊という可能性は低いと思います
246 名前:233 mailto:sage [2005/12/04(日) 19:16:26 ID:c5I9hufm0] VarSetCapacity(LvItem,52,0) InsertInteger(1,LvItem,0) InsertInteger(0,LvItem,4) InsertInteger(0,LvItem,8) InsertInteger(&pszText,LvItem,20) InsertInteger(100,LvItem,24) SendMessage,0x1005,0,&LvItem,TListView1,A Msgbox,%pszText% ttp://yokohama.cool.ne.jp/chokuto/urawaza/listview2.html ここを参考にしましたが これでいけると思ったけど駄目でした InsertInteger()関数は書いてあります エラー内容 モジュール 'comctl32.dll' のアドレス 5ABBD830 でアドレス 00D15714 に対する読み込み違反がおきました。 構造体は素人なので見よう見まねで書いてみましたが どこかおかしいでしょうか?
247 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/04(日) 20:11:58 ID:t+Kdt+4/0] AHKは万能なソフトってわけでもないのでそれだけ努力してダメなら無理なのかもしらんね とりあえず半端なレスして悪かった。
248 名前:233 mailto:sage [2005/12/04(日) 20:29:14 ID:c5I9hufm0] >>247 >とりあえず半端なレスして悪かった いえいえ >AHKは万能なソフトってわけでもないので もしどうしても駄目なら他のソフトやスクリプトを通してでも取得したいのですが・・・ どなかたお知恵をお貸しください
249 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/04(日) 20:39:34 ID:LHEUZAAE0] 単に別プロセスのメモリー読もうとしてるからエラー出てるのでは? TListViewはListView用のLVM_〜が使えた気がする
250 名前:233 mailto:sage [2005/12/04(日) 20:47:32 ID:c5I9hufm0] >>249 >TListViewはListView用のLVM_〜が使えた気がする そうです、使えるようです。 実際LVM_GETITEMCOUNTでアイテム数は取得できますし。 >>246 のリンク先にもありますが、SendMessageの0x1005はLVM_GETITEMのことです >単に別プロセスのメモリー読もうとしてるからエラー出てるのでは? これについては自分にはよくわからないです
251 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/04(日) 21:06:52 ID:OzfEcy140] >>250 VirtualAllocEx MapViewOfFile を駆使すれば取得できるが面倒
252 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/04(日) 21:09:06 ID:LHEUZAAE0] LVM_GETITEMCOUNTはSendMessageの戻り値がそのままアイテム数だから問題ないけど LVM_GETITEMはLVITEMのポインタをLPARAMで渡してそこに情報を書き込んでもらう奴だから LVITEM*が指すメモリーを共有メモリにするか、SendMessageする側でフックをかけてプロセスに割り込まないといけない 共有メモリー使う方法は ttp://techtips.belution.com/ja/vc/0001/ あたりを参考にすれば出来るかな
253 名前:233 mailto:sage [2005/12/04(日) 21:10:52 ID:c5I9hufm0] >>251-252 ありがとうございます とりあえず提示されたものを頑張って調べてみます
254 名前:233 mailto:sage [2005/12/05(月) 12:27:58 ID:pnvrA0j10] 色々やってみたんですが、行き詰っています ttp://techtips.belution.com/ja/vc/0001/ これってメモリアドレスから変数を参照できないと無理なのでは? まだ調べ始めて1日なので何か勘違いしてるだけのような気もしますが
255 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/05(月) 12:48:04 ID:yS+6IGXX0] gui,add,edit,vtitle R1 W300 gui,show return こんな感じでエディットボックスを作ってるんですが、日本語入力すると確定するまで表示されません。 普通に変換中に表示されるようには出来ないのでしょうか?何かオプションがあるのかな?
256 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/05(月) 12:55:38 ID:stKSCaAE0] >>255 うちで使ってる簡単なもの。これで試して駄目だったらなんかIMEとかに問題ありそうな。 #NoTrayIcon #SingleInstance Gui, Add, Edit, vSrc X Y W210 Gui, Add, Button, Default gSrc x+6 ys-2, &Search Gui, Show, , Amazon検索 return Src: Gui, Submit Run, www.amazon.co.jp/exec/obidos/search-handle-url/index=blended&field-keywords=%Src% ExitApp GuiEscape: GuiClose: ExitApp
257 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/05(月) 13:30:59 ID:fH9XPvqW0] >>255 うちでは普通にでるけどなぁ・・・ win2ksp4 Atok16 MSIME2k どっちもOK
258 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/05(月) 13:33:22 ID:fH9XPvqW0] いちおう追記、AHK v1.0.40.05
259 名前:255 mailto:sage [2005/12/05(月) 15:14:33 ID:yS+6IGXX0] >>256 >>257 ありがとうございます。早速試しましたが、やはりうまく表示されません。 例えば わたしは と打つと w しか表示されないです。 Returnを押すと、わたしは と表示されます Version 1.0.40.10をいれてみましたが、症状はかわらず。 どーもうちのIMEの不具合か、設定の問題かもしれません。 ちなみにAHK以外の日本語入力は不具合ありません。
260 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/05(月) 15:38:36 ID:N0kdWIqG0] >>259 OSの種類とIMEのバージョンや設定(ナチュラルインプットとか詳細サービスとか)書いたら? 解決したかったら人任せじゃだめだよ
261 名前:255 mailto:sage [2005/12/05(月) 16:21:24 ID:ONVNYKfr0] 情報が足らず申し訳ありませんでした。 Windows Xp pro sp1 AHK Version 1.0.40.10 Microsoft IME Standard 2002 ver. 8.1 詳細なテキスト サービスをオフにするにチェック IME Watcherを使用 英字を常に半角で変換以外は設定をいじってません。 英語圏のソフトなのでこういう仕様なのかと思っていました。 我が家のPCの問題のようですので自力でがんばります。 皆様のお手を煩わせてほんとに申し訳なかったです。すみませんでした。
262 名前:233 mailto:sage [2005/12/06(火) 00:06:41 ID:zKABzlSJ0] 何度もすみません やっぱり自分には無理のようです・・・ とういうか、>>252 のURLの内容とほぼ同じものが ttp://www.yoshibaworks.com/ayacy/inasoft/lv2csv/lvcsvcom/chapter3.html に載っているんですが、同じサイトの ttp://www.yoshibaworks.com/ayacy/inasoft/lv2csv/index.html をダウンロードして使ってみたところTListViewは取得できませんでした 下のURLのアプリは上のソースコードとは仕組みが違うのかもしれませんが 自分にとってTListViewが取得できることによってAHKはかなり便利になると思います ずうずうしいようですが、TListViewを取得できるものが誰かの手によって書かれるのを期待します もちろん自分でもこれからもチャレンジしていきたいと思います
263 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/06(火) 00:11:30 ID:BfjYx7dY0] TlistViewってそもそも何?
264 名前:260 [2005/12/06(火) 00:20:18 ID:061B1eK40] >>261 俺も>>256 を試したら同じ現象が起きた XP HOME SP2 IME2002でIME Watcherは使ってない 今さらで悪いけど、むかし同じ現象が出て InputBoxを使って回避した気がする。忘れてた… その時は、会社のマシンだったから割と起こりやすい現象みたい
265 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/06(火) 00:28:05 ID:+pinJF560] >>262 ぱっとソースを見た感じクラスがListView32じゃないと動作しないように書いてある これ→if ( strcmp(szClassName, WC_LISTVIEW) == 0 ) { 確かTListViewはクラス名が違ったと思う
266 名前:233 mailto:sage [2005/12/06(火) 00:30:50 ID:zKABzlSJ0] >>265 ということは>>262 のソースを再現すればAHKでも実現できるわけですね 少し希望が湧いてきました
267 名前:255 mailto:sage [2005/12/06(火) 20:02:45 ID:BjDsaEX90] exeファイルにして、友達のPCで試してもらいました。 買ったままいじってないWinxp home sp2 やはり同じように入力がおかしかったようです。 これは、エディットボックス自体の不具合かな。あきらめてほかの方法をとることにします。
268 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/06(火) 22:19:27 ID:cuFKTqtn0] InsertInteger(pInteger, ByRef pDest, pOffset = 0, pSize = 4) ; To preserve any existing contents in pDest, only pSize number of bytes starting at pOffset ; are altered in it. The caller must ensure that pDest has sufficient capacity. { mask := 0xFF ; This serves to isolate each byte, one by one. Loop %pSize% ; Copy each byte in the integer into the structure as raw binary data. { DllCall("RtlFillMemory", UInt, &pDest + pOffset + A_Index - 1, UInt, 1 ; Write one byte. , UChar, (pInteger & mask) >> 8 * (A_Index - 1)) ; This line is auto-merged with above at load-time. mask := mask << 8 ; Set it up for isolation of the next byte. } } ExtractInteger(ByRef pSource, pOffset = 0, pIsSigned = false, pSize = 4) { SourceAddress := &pSource + pOffset ; Get address and apply the caller's offset. result := 0 ; Init prior to accumulation in the loop. Loop %pSize% ; For each byte in the integer: { result := result | (*SourceAddress << 8 * (A_Index - 1)) ; Build the integer from its bytes. SourceAddress += 1 ; Move on to the next byte. } if (!pIsSigned OR pSize > 4 OR result < 0x80000000) return result ; Signed vs. unsigned doesn't matter in these cases. ; Otherwise, convert the value (now known to be 32-bit) to its signed counterpart: return -(0xFFFFFFFF - result + 1) }
269 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/06(火) 22:21:14 ID:cuFKTqtn0] GetListViewText(hListView, iItem, iSubItem, ByRef lpString, nMaxCount) { ;const NULL = 0 PROCESS_ALL_ACCESS = 0x001F0FFF INVALID_HANDLE_VALUE = 0xFFFFFFFF PAGE_READWRITE = 4 FILE_MAP_WRITE = 2 MEM_COMMIT = 0x1000 MEM_RELEASE = 0x8000 LV_ITEM_mask = 0 LV_ITEM_iItem = 4 LV_ITEM_iSubItem = 8 LV_ITEM_state = 12 LV_ITEM_stateMask = 16 LV_ITEM_pszText = 20 LV_ITEM_cchTextMax = 24 LVIF_TEXT = 1 LVM_GETITEM = 0x1005 SIZEOF_LV_ITEM = 0x28 SIZEOF_TEXT_BUF = 0x104 SIZEOF_BUF = 0x120 SIZEOF_INT = 4 SIZEOF_POINTER = 4 ;var result := 0 hProcess := NULL dwProcessId := 0
270 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/06(火) 22:21:36 ID:cuFKTqtn0] if lpString <> NULL && nMaxCount > 0 { DllCall("lstrcpy", Str,lpString, Str,"") DllCall("GetWindowThreadProcessId", UInt,hListView, UIntP,dwProcessId) hProcess := DllCall("OpenProcess", UInt,PROCESS_ALL_ACCESS, Int,false, UInt,dwProcessId) if hProcess <> NULL { ;var lpProcessBuf := NULL hMap := NULL hKernel := DllCall("GetModuleHandle", Str,"kernel32.dll", UInt) pVirtualAllocEx := DllCall("GetProcAddress", UInt,hKernel, Str,"VirtualAllocEx", UInt) if pVirtualAllocEx == NULL { hMap := DllCall("CreateFileMapping", UInt,INVALID_HANDLE_VALUE, Int,NULL, UInt,PAGE_READWRITE, UInt,0, UInt,SIZEOF_BUF, UInt) if hMap <> NULL lpProcessBuf := DllCall("MapViewOfFile", UInt,hMap, UInt,FILE_MAP_WRITE, UInt,0, UInt,0, UInt,0, UInt) } else { lpProcessBuf := DllCall("VirtualAllocEx", UInt,hProcess, UInt,NULL, UInt,SIZEOF_BUF, UInt,MEM_COMMIT, UInt,PAGE_READWRITE) }
271 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/06(火) 22:22:07 ID:cuFKTqtn0] if lpProcessBuf <> NULL { ;var VarSetCapacity(buf, SIZEOF_BUF, 0) InsertInteger(LVIF_TEXT, buf, LV_ITEM_mask, SIZEOF_INT) InsertInteger(iItem, buf, LV_ITEM_iItem, SIZEOF_INT) InsertInteger(iSubItem, buf, LV_ITEM_iSubItem, SIZEOF_INT) InsertInteger(lpProcessBuf + SIZEOF_LV_ITEM, buf, LV_ITEM_pszText, SIZEOF_POINTER) InsertInteger(SIZEOF_TEXT_BUF, buf, LV_ITEM_cchTextMax, SIZEOF_INT) if DllCall("WriteProcessMemory", UInt,hProcess, UInt,lpProcessBuf, UInt,&buf, UInt,SIZEOF_BUF, UInt,NULL) <> 0 if DllCall("SendMessage", UInt,hListView, UInt,LVM_GETITEM, Int,0, Int,lpProcessBuf) <> 0 if DllCall("ReadProcessMemory", UInt,hProcess, UInt,lpProcessBuf, UInt,&buf, UInt,SIZEOF_BUF, UInt,NULL) <> 0 { DllCall("lstrcpyn", Str,lpString, UInt,&buf + SIZEOF_LV_ITEM, Int,nMaxCount) result := DllCall("lstrlen", Str,lpString) } }
272 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/06(火) 22:22:41 ID:cuFKTqtn0] if lpProcessBuf <> NULL if pVirtualAllocEx <> NULL DllCall("VirtualFreeEx", UInt,lpProcessBuf, UInt,0, UInt,MEM_RELEASE) else DllCall("UnmapViewOfFile", UInt,lpProcessBuf) if hMap <> NULL DllCall("CloseHandle", UInt,hMap) DllCall("CloseHandle", UInt,hProcess) } } return result }
273 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/06(火) 22:23:18 ID:cuFKTqtn0] ;const MAX_TEXT = 260 ;var iItem := 0 iSubItem := 0 x := 0 y := 0 VarSetCapacity(szText, MAX_TEXT, 0) VarSetCapacity(szClass, MAX_TEXT, 0) VarSetCapacity(point, 8, 0) DllCall("GetCursorPos", Str,point) x := ExtractInteger(point, 0, true, 4) y := ExtractInteger(point, 4, true, 4) hListView := DllCall("WindowFromPoint", Int,x, Int,y) DllCall("GetClassName", UInt,hListView, Str,szClass, Int,MAX_TEXT) if DllCall("lstrcmpi", Str,szClass, Str,"SysListView32") == 0 || DllCall("lstrcmpi", Str,szClass, Str,"TListView") == 0 { GetListViewText(hListView, iItem, iSubItem, szText, MAX_TEXT) Msgbox, %szText% } return
274 名前:233 mailto:sage [2005/12/06(火) 22:52:52 ID:oOmblgWA0] すごい!感動しました! 感謝してもしきれないです 本当にありがとうございます
275 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/07(水) 00:24:52 ID:+IISIZwk0] 引数が足りなかった DllCall("VirtualFreeEx", UInt,hProcess, UInt,lpProcessBuf, UInt,0, UInt,MEM_RELEASE)
276 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/07(水) 00:33:06 ID:WQOB4lVi0] >>233 具体的にどういう使い方をするのかちょっと興味あるんだけど、教えてくんない?
277 名前:233 mailto:sage [2005/12/07(水) 16:47:00 ID:Fl/Gr8/X0] >>275 普通に動いてたので気づきませんでした どちらにしても感謝です >>276 ここまでしてもらってなんですが、ご勘弁を
278 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/07(水) 16:57:01 ID:x7hOLdd40] >>277 エロDVDのタイトルの整理か何かですか?
279 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/07(水) 23:01:34 ID:SL+OhssX0] 匿名掲示板で詳しく言えないって事は犯罪絡みか
280 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/07(水) 23:29:33 ID:EMbBN43/0] それか業務がらみとか
281 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/08(木) 01:24:26 ID:kFp6FhOt0] 変数一覧のところの一番上に 0[1 of 1]: 0 ってのが必ずあるんだけどこれって何?
282 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/08(木) 19:29:26 ID:tAZLc0Al0] コマンドライン引数の奴
283 名前:281 mailto:sage [2005/12/08(木) 19:30:54 ID:kFp6FhOt0] >>282 あ、なるほど
284 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/10(土) 23:31:57 ID:8fYJs8aX0] 質問なのですが、このソフトでIME起動時に全角文字を入力として挿入することは 比較的楽に出来ますでしょうか? なにがしたいかと言いますと、自分はIMEは「かな入力」の人間でして、 チャット等の、通常会話に近い文を書いてる時は、!や?が、かな文字と 同じくらいの平易さで出現するのですが、かな入力ですと、入力するのが ちょっと面倒なのです(かな/英数を切り替えてからShift+1で再びかな/英数など) そこで、IME(ATOK2005)が起動している時は、かな入力状態でも [Shift]+[1]で“!”を、[Shift]+[/]で“?”を入力出来るようにしたいのですが、 そう言ったことは可能でしょうか? 自分の程度としましては、DOS3からなのでbatは書けますがvbsは読んで修正するのが精一杯、 サイトの引っ越しでUWSCでIEを半自動実行で転記させる50行×8本くらいのサブルーチンを 書いた程度で、最近は正規表現がなんとか使えてきて楽しいというようなレベルです。 外国産みたいなので、IMEの起動を検知できるのかと、起動したIMEに文字を直接送ることが 出来るのかがネックかなと思っているのですが… よろしくお願いします。
285 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/11(日) 00:22:31 ID:XJ0qF38r0] > そう言ったことは可能でしょうか? 可能 それと、おまえのレベルなんて知ったこっちゃない このソフトが使えないレベルなら他を当たれ 使えるなら勝手にしろ といっても、流行らせるページ見ればこの程度バカでも出来るがな ソフトに限ったことじゃないが、便利なものを使いたければ それに応じた実力(知識や技術など)を身につけろってこった
286 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/11(日) 00:39:49 ID:apES3Z+g0] まぁ要望を長々と書いたところで、マジメに読んでもらえる訳が無い。 がんばればアンタでもできるんじゃねーの?としか言いようが無い。
287 名前:名無しさん@お腹いっぱい。 [2005/12/11(日) 00:59:00 ID:78+mCWVm0] つーか俺なら変換キー連打で解決するね
288 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/11(日) 01:23:09 ID:LXjhHQ7b0] 辞書登録で1→! 0→?(テンキーを使っているなら)とか ぬ→! め→? とでも登録した方が分かりやすい上に てっとり早いんじゃないか?
289 名前:名無しさん@お腹いっぱい。 [2005/12/11(日) 01:27:32 ID:78+mCWVm0] >>288 >>287
290 名前:284 mailto:sage [2005/12/11(日) 13:39:45 ID:OA29yvnX0] お返事ありがとうございます。 ソフトによっては、ユーザー側に有る程度の素養が要求されると思いますので、 現実的に見て、自分のレベルで作業するのに問題が無いか、 取り組む前に確認させて貰いたかったのですが、スレの空気を乱す発言になった ようで、すみませんでした。 お返事を見る限り、無理な要求という感触では無いようですので、 参考にさせていただいて、検討いたします。
291 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/11(日) 13:46:13 ID:n6eRmNGz0] とりあえずお前が人のアドバイスを試す気がないカスなのは分かった
292 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/11(日) 13:48:53 ID:2lWo/Yh80] プッ
293 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/11(日) 20:13:50 ID:/OTbplQs0] しばらく過疎ってる間にえらく空気悪くなってるな >>290 IME制御に関しては過去何度か話題に上がってるので調べてみれ なまず氏が自分とこのブログで最近とりあげてたし
294 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/13(火) 00:21:18 ID:sRReWFce0] ttp://www.tamanegi.org/prog/mayu-plugins/ ここのmigemo-isearchってAHKでできます? dllのことはよくわからないんですが、これに入ってるのをDllCallすれば可能?
295 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/13(火) 03:10:20 ID:UEU0KJ8o0] もうある
296 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/13(火) 13:57:25 ID:sRReWFce0] >>295 本当ですか? 一応「migemo ahk」「migemo autohotkey」などで検索しても見つかりませんでした
297 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/13(火) 14:41:54 ID:DtKvDaaE0] 流行らせるページにある奴じゃないのかな。
298 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/13(火) 14:47:52 ID:sRReWFce0] >>297 ありました これ昔からありましたっけ?
299 名前:294 mailto:sage [2005/12/13(火) 17:20:20 ID:sRReWFce0] これをブラウザで使うやり方がさっぱりわからない・・・・ そもそもサンプルが上手く動かないです 例えば「a」と打つと「シリアス」だけがマッチ(他にもaはたくさんあるのに) どんな文字でも2文字目を打つと何も表示されず 意味がよくわからないです
300 名前:294 mailto:sage [2005/12/13(火) 17:39:57 ID:sRReWFce0] 自分でlist=を作ってやってみましたが アルファベットだけがマッチ 漢字・ひらがな・カタカナ全滅 私が何かをすごく勘違いしてる気がしますが・・・・
301 名前:294 mailto:sage [2005/12/13(火) 17:52:44 ID:sRReWFce0] ただ単に辞書パスが違っているというアホな間違いでした すみません でもブラウザで使うやり方は未だわからず
302 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/13(火) 18:03:09 ID:DtKvDaaE0] いつから日記スレになったんだ
303 名前:294 mailto:sage [2005/12/13(火) 18:05:03 ID:sRReWFce0] >>302 本当にスレ汚しすみません
304 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/13(火) 18:05:04 ID:JxXQO2OP0] さっさと消えろよ、うざいなぁ。
305 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/13(火) 18:23:00 ID:McRsgk3+0] なんか最近スレの空気悪いなぁ。 っていうかmigemoの存在を初めて知った。 ちょっと感動。 流行らせるページのスクリプト見てみたけど >>294 と同じ機能をAHKからブラウザで使うのは無理じゃね?
306 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/13(火) 20:54:54 ID:wLsVmh5S0] 俺も知識不足でサンプルで何をやっているのか全然わからないので 流用できなかった。 任意のファイラ上でmigemoでファイルを選択したかったんだけどね。 マッチングを行わせたい文字列をリストにしてスクリプトに 読ませるんだというのはなんとなくわかるけど マッチした内容を任意のソフトに対してどうやって反映させたら いいのかさっぱり。 誰か使っている人いたら具体的なスクリプトを教えてくれないかな。
307 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/13(火) 22:44:18 ID:tDGCBqUo0] >>304 お前が消えろよ
308 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/13(火) 22:54:36 ID:hY2eSXDW0] ファイラーはMigemizeExplorer ブラウザは窓使いの憂鬱 2chブラウザはJaneView エディタはサクラエディタ ってな具合にmigemoを使ってる。 ただ、繭で使ってるのはmigemoのみだから繭をなくしたいんだよね。 別に不具合はないけど。 ブラウザ乗り換えも何度も検討した結果、今使ってるものになってるし。
309 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/14(水) 12:55:41 ID:RrhosKDn0] 今現在、Win用・繭不要でmigemo対応のブラウザは fub.net ぶら。 ※拡張機能で。 Bagel Firefox ※XUL/Migemo Sylera2 オレはSylera2だけど他にもあるような…
310 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/14(水) 14:43:44 ID:NCzEYHK/0] Janeのトレース画面を一発で出し入れできるスクリプトって無理かな
311 名前:名無しさん@お腹いっぱい。 [2005/12/15(木) 09:04:11 ID:Oeo3ug/h0] 質問ですけど、スクリプトでMSNメッセンジャーを取り込み中に変えたりオンラインに戻したりするにはどうしたらいいですか?
312 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/15(木) 09:16:32 ID:vmIlAlU20] >>311 AutoHotkey以外での実現方法を知っているなら、そのとおりに実装すればいいのでは。 手始めに "MSN Messenger" Messenger.UIAutomation.1 で検索するとかして。(英語も読もう)
313 名前:311 mailto:sage [2005/12/15(木) 09:21:36 ID:Oeo3ug/h0] >>312 レスどうもです! > AutoHotkey以外での実現方法 はタスクトレイのアイコンを右クリックしてやる方法しか知らないです・・・ ちょっとググってみます! 英語は・・・読める限り・・・
314 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/15(木) 12:34:59 ID:quYc50MH0] >>310 出し入れというかマウス系のコマンド使って瞬間的に ドラッグして消しているように見せるだけの奴なら作ってみた。 結構良い感じでうまく動いたよ。 そういう意味では出来ると答えておきます。 他に方法があるかもしれないけど漏れにはわかりません。
315 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/15(木) 15:12:30 ID:Ro4rZY7t0] >>314 やっぱそれしかないかー と思ったが、Hideenテキストを取得するスクリプト書いて MSGBOX出せば、トレース画面出さなくても デバッグログがみれるかもと思った。
316 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/15(木) 15:21:14 ID:quYc50MH0] あ、トレース画面を別ウィンドウで浮かせたいってことが言いたかったのか。 勘違いしてスマソ。 うーん。Janeのソースいじってしまった方が速いんでないかい? まぁ、でもText拾ってGuiで別Window作成して表示させれば、できるだろな。
317 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/15(木) 15:28:31 ID:Ro4rZY7t0] >>316 あ、いや、その解釈であってるよ。 最初は外部コマンドからトレース画面をある程度の幅で ウィンドウ内に出せればいいなと思ってたんだけど。 でも、AU3_Spyで見たらトレース画面のテキストが取得できてたんで 別に本体で見なくてもいいかなと思って。
318 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/15(木) 18:13:10 ID:RHa3zC2W0] Jane作者に要望だせば?
319 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/15(木) 22:56:34 ID:3cBKpG8E0] >>294 にあるdll使って DllCall("dllのパス\migemo-isearch.dll\ie_isearch_fmRi",Int,0) としてみたが何も起こらず。 返り値はなし、ErrorLevelは-4(DLLは見つかったが、Functionで指定した関数が無かった) どこが間違っているでしょうか? そもそも無理?
320 名前:名無しさん@お腹いっぱい。 [2005/12/19(月) 16:48:21 ID:T6Ojlipz0] CPU使用率を取得するにはどうすればいいでしょうか? ttp://www.vector.co.jp/soft/winnt/prog/se361629.html これを使って呼び出そうとしましたが、上手くいきません
321 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/19(月) 17:50:39 ID:m4JgEdVJ0] >>320 残念ながら力になれないが (DllCallを今初めて使った)、 どのような記述をして、どのように動かなかったのかの説明は書いておいた方が良いと思うよ。 ちなみに自分が試したのはこんな感じ。 ;コード #O:: Ret := DllCall("getcpust\GetCpuStatus", IntP, rate) MsgBox, 返値:%Ret%`n使用率:%rate%`nエラーコード:%ErrorLevel% return ;メッセージボックス 返値:1 使用率:0 エラーコード:A4 引数無しにするとエラーは出なくなるけど、それだと意味ないしなぁ。 以下DLLのReadmeから引用。他の人回答ぷりーず。 >int GetCpuStatus( int *rate ) >をEXPORTします。 >第1引数に引き渡したint型のメモリにCPU使用率が格納されます。 >返値は失敗するとFALSE(0)を、成功した場合はそれ以外を返します。
322 名前:320 mailto:sage [2005/12/19(月) 17:53:49 ID:T6Ojlipz0] >>321 自分もほぼ同じ記述です ただ、引数の最後にCdeclを追加するとErrorLevelは0になります(返値1・使用率0は変わらず)
323 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/20(火) 14:08:58 ID:VYjzBC0S0] >>322 調べてみたらその関数の呼び出し規約はcdeclだった(関数を公開するなら明示すべきだが)。 mp3でも再生しながら再計測してみては?
324 名前:320 mailto:sage [2005/12/20(火) 14:14:45 ID:yg2tqewb0] >>323 ん?つまり記述はあっているけど私のCPU使用率は0だから0を返してるってことですか? 負荷を上げても0のままです
325 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/20(火) 15:28:39 ID:6fVVhLVx0] もしかして、とおもってやってみたらドンピシャ。 #Persistent OnExit, ExitSub hModule := DllCall("LoadLibrary", str, "getcpust.dll") if hModule=0 { ExitApp } SetTimer, GetCpust, 500 return GetCpust: Ret:=DllCall("getcpust\GetCpuStatus", "Int*", cpust, "cdeclInt") ToolTip, 返値 %Ret%`ncpust %cpust%`nErrorLevel %ErrorLevel% return ExitSub: DllCall("FreeLibrary", UInt, hModule) ExitApp
326 名前:320 mailto:sage [2005/12/20(火) 15:35:13 ID:yg2tqewb0] >>325 なるほど、そうやるんですね 勉強になりました ありがとうございます
327 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/20(火) 15:41:31 ID:6fVVhLVx0] これみてピンとキタ━━(゚∀゚)━━ヨ。 ttp://lukewarm.s101.xrea.com/commands/indexframe.html >DLL確保/開放の手動化 >DLLの処理によっては、処理の途中でDLLが開放してしまうと正常に動作しない場合がある。 >その場合、上記の例のように手動でLoadLibrary/FreeLibraryを行うことで、本来の動作になることがある。 できるだけ、この方法使った方が正常に動作するのかもしれませんね。
328 名前:320 mailto:sage [2005/12/20(火) 15:44:01 ID:yg2tqewb0] >>327 そこには目を通していたはずなのに実行してみなかった自分が恥ずかしいです
329 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/20(火) 15:45:24 ID:6fVVhLVx0] >>327 ttp://lukewarm.s101.xrea.com/commands/DllCall.htm だった・・ >>328 案外見落としてしまうですね^^
330 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/20(火) 16:14:40 ID:e8aKpTDx0] 平日の真昼間にいきなり活性化してんのな 学生ってもう冬休みに入ってるのかなw
331 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/20(火) 16:19:32 ID:e8aKpTDx0] ↑末尾のwは Alt+w(書き込み)の押し間違いだorz
332 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/20(火) 16:59:12 ID:f5Fr+yX00] Ctrl+Alt+Delを無効にしようと思うんだけど ^!Del::return としても変化なし 何か特別なことをしなければならない?
333 名前:332 mailto:sage [2005/12/20(火) 17:22:32 ID:f5Fr+yX00] もっとよく調べてから質問すればよかった・・・ ttp://nienie.com/~masapico/doc_DisableSAS.html コンパイルする環境にないのでコンパイル済を探しているところ ・・・ってこれはスレ違いか
334 名前:名無しさん@お腹いっぱい。 [2005/12/21(水) 22:00:44 ID:C94x2s+u0] >>333 俺もそれほしくてコンパイル済みを探したけど見つからんかった。 どなたかお願いします・・
335 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/22(木) 02:31:48 ID:MS28PmO/0] >>333-334 コンパイルだけなら出来ないこともないが、 さすがにそんなシステムの根幹に関わるファイルは試したくないし、 そのまま上げて、うまく動かなくてシステム復旧できなくなっても責任取れないし。 第一、こんな危険度の高いファイルを匿名掲示板の誰とも知れぬヤツに 頼むのはどうかしてるとしか思えない。
336 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/22(木) 16:11:43 ID:7k5DRGNJ0] 335の言うとおり。どれほど危険かわかっていってんのかね。
337 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/22(木) 17:01:29 ID:V901fh0D0] 何度もいう必要は無いよ 一度言えば分かる もしやる奴がいれば上げればいいし 自己責任で使えばいい
338 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/22(木) 18:39:00 ID:8FMcnaKn0] とりあえず自力でコンパイルできる位のスキルがある奴でないと危ないってこった
339 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/22(木) 18:44:59 ID:KsC0+Fth0] 何度もいう必要は無いよ 一度言えば分かる もしやる奴がいれば上げればいいし 自己責任で使えばいい
340 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/22(木) 22:47:41 ID:1UNMjvMz0] 乱数が必要なときどうしてます?
341 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/22(木) 23:14:28 ID:mI5CV1Yi0] Random使ってますが
342 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/22(木) 23:14:55 ID:MS28PmO/0] Random, OutputVar [, Min, Max]
343 名前:340 mailto:sage [2005/12/22(木) 23:16:16 ID:1UNMjvMz0] 関数の方で探してましたorz
344 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/22(木) 23:26:11 ID:1UNMjvMz0] もしかして16進数←→10進数もあったりする?
345 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/23(金) 00:08:10 ID:6+7NW5wO0] >>344 ある。探し方が下手なだけだと思う。
346 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/23(金) 00:24:43 ID:HDLrFyls0] >>345 ありました SetFormatですね 今度一からリファレンスを見直そうかな・・・・
347 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/23(金) 17:22:00 ID:6+7NW5wO0] 一部のソフトのバグが原因(だと思われる)でフォーカスの横取りがうまくされなくなる問題の解決のために、 フォーカスを奪いたいソフトを実行させる前に以下のコマンドを実行するようにしてみた。 GetFocus: RegRead, fore, REG_DWORD, HKCU, Control Panel\Desktop, ForegroundLockTimeout IfNotEqual, fore, 0 { RegWrite, REG_DWORD, HKCU, Control Panel\Desktop, ForegroundLockTimeout, 0 Sleep, 500;反映待ち } return しかし、実際にレジストリの方は書きかわっているものの、きちんとフォーカスを奪ってくれず、 TweakUIで該当の項目を見てもチェックが付いたまま…もちろんTweakUIでチェックを外せば奪うようになる。 他に何をすればAHKでも反映されるようになるんかな。
348 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/23(金) 19:43:26 ID:JrNibnEe0] あーなんか昔クリップボード拡張ソフトのスレでそれっぽいの見たような記憶が 今ちと忙しくて過去ログ探してる暇がないが Charu3起動するとフォーカス関係がおかしくなる奴
349 名前:347 mailto:sage [2005/12/23(金) 21:18:22 ID:6+7NW5wO0] >>348 そのスレ自体は知っているんだけど、やっぱり原因となってるソフトを特定して、 作者に直してもらうほか無いのかなぁ。
350 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/23(金) 22:08:11 ID:4kg8U7Th0] >>347 その手の設定はレジストリ変えた後に「再設定したよ」ってOSに知らせないといけないのかも 確かそんなAPIがあったはず
351 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/24(土) 00:50:55 ID:qmuEaf2G0] 最強クリップボード拡張ソフトはこれだ!Part5 pc8.2ch.net/test/read.cgi/win/1085675606/371-383 CharuシリーズサポートBBSの下のほう XPでフォアグラウンドアクティブできなくなるのですが… ttp://8537.teacup.com/keiziweb/bbs?OF=120&BD=9&CH=5 自分このときCharuの作者さんに報告したものだけど 問題部のソース晒して貰った上でバグ部分を特定してるので >347氏のも同じ現象ならソフトの作者さんに報告すれば直して貰える確率は高いと思う 常駐物もいったん全部外して、常用ソフト一個ずつ起動終了ごとにTweakUIで状態確認、で 原因のソフトは特定できると思うよ。ちと手間だけど
352 名前:名無しさん@お腹いっぱい。 [2005/12/29(木) 13:16:24 ID:kRbce90V0] age
353 名前:347 mailto:sage [2006/01/02(月) 13:16:01 ID:ECSj1xL10] 状況報告 Tweak UIの挙動をSpy++で確認。レジストリ変更後、↓を確認。 WM_SETTINGCHANGE wFlag:2001 pszMetrics:0006F4B4 ということで、スクリプトに↓を追加。 SendMessage, 0x1A, 0x0002001, 0x0006F4B4,, ahk_id 0xFFFF これで試したところ、以下のような良く分からん状態に。 Tweak UIでチェックをつけてOKを押す 該当レジストリが200000になる ↓AHK実行 レジストリが0になる ↓フォーカスをきちんと奪うようになる ↓Tweak UI起動して確認するとチェックが付いたまま レジストリの方は0になっている ↓そのままOKを押す ↓AHK実行 レジストリは0のまま ↓フォーカスを奪えない Tweak UIの方もチェックが付いたまま ↓のようにいろいろ変えてみても効果無し。 SendMessage, 0x1A, 2001, 0x0006F4B4,, ahk_id 0xFFFF SendMessage, 0x1A, 0x0002001, "Control Panel\Desktop",, ahk_id 0xFFFF SendMessage, 0x1A, 0x0002001, "HKEY_CURRENT_USER\Control Panel\Desktop",, ahk_id 0xFFFF SendMessage, 0x1A, 0, 0x0006F4B4,, ahk_id 0xFFFF SendMessage, 0x1A, 0, 0,, ahk_id 0xFFFF
354 名前:347 mailto:sage [2006/01/02(月) 13:23:01 ID:ECSj1xL10] 続き 参考にしたのは↓のサイト ttp://www.sxlist.com/techref/os/win/api/win32/mess/src/msg27_28.htm 何か根本的に間違っているのかそれとも足りないのか… ちなみに原因となってるソフトを探してみるものの、問題が起こるときは何度でも起きるし、 起きないときは全然で、再現性が無くて困り中。 何かSyleraが怪しい気もするけど確証が取れず。複数ソフトが原因だったらお手上げっす。 長文スマンね。
355 名前:名無しさん@お腹いっぱい。 [2006/01/03(火) 07:25:06 ID:jyT5EMJg0] JoeのようなAltTab代替アプリを実現しようと思ったんですが、 アイコンの取得の仕方がわかりません。 インスタンスハンドルを取得できればWinAPIを使ってできそうなんですがうまく取得できず。
356 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/03(火) 12:14:30 ID:Tw0iMMgh0] HDD漁ったら昔作ったアイコン存在チェックソース出てきた。時間ないので未検証でコピペするお ;WNDCLASSEX 構造体にセットされたアイコン GCL_HICON := DllCall("GetClassLong", Uint,hWnd, Int,-14) ;GCL_HICON GCL_HICONSM := DllCall("GetClassLong", Uint,hWnd, Int,-34) ;GCL_HICONSM ;WM_SETICON メッセージによってセットされたアイコンを取得 SendMessage,0x007F,0,0,,ahk_id %hWnd% ;ICON_SMALL ICON_SMALL := ErrorLevel SendMessage,0x007F,1,0,,ahk_id %hWnd% ;ICON_BIG ICON_BIG := ErrorLevel SendMessage,0x007F,2,0,,ahk_id %hWnd% ;ICON_SMALL2(XP) ICON_SMALL2 := ErrorLevel OutputDebug, GCL_HICON=%GCL_HICON% GCL_HICONSM=%GCL_HICONSM% ICON_BIG=%ICON_BIG% ICON_SMALL=%ICON_SMALL% ICON_SMALL2=%ICON_SMALL2%
357 名前:355 mailto:sage [2006/01/03(火) 17:40:06 ID:jyT5EMJg0] >>356 ありがとうございます。 これでアイコンハンドルは取得できました。 ListViewのGuiのIL_Add()ではアイコンのファイル名が必要なんですが ハンドルからファイル名は取得できるのでしょうか?
358 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/03(火) 21:17:52 ID:Tw0iMMgh0] 取得したアイコンハンドラを元にGUIへ反映する方法はわからんです。 (自分はウィンドウのタイトルバー左上にアイコンがあるのかどうか調べるためだけに アイコンハンドル取得してみてるだけなので) APIでどうにかできそうとのことだったので、むしろフィードバックを期待してたんですが 単純にexeのアイコンが表示できればいいのなら、管理人さんの プロセスIDを指定して実行ファイルパスを得る関数で .exeフルパス取得して セットしてやればいいと思われ cgi19.plala.or.jp/lukewarm/news/2005_05.html#14
359 名前:355 mailto:sage [2006/01/03(火) 21:27:09 ID:jyT5EMJg0] >>358 その管理人さんの関数で解決できそうです。 ありがとうござました。
360 名前:355 mailto:sage [2006/01/03(火) 21:45:14 ID:jyT5EMJg0] 最後のほうの DllCall("psapi\CloseProcess","Int",hProcess) のErrorLevelが-4になってしまうんですが大丈夫なんでしょうか?
361 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/04(水) 15:29:26 ID:SbxpZ6KF0] ホイールの挙動がなんかおかしいです SetTimer,tip,1000 return tip: GetKeyState,ks,WheelDown,P ToolTip,%ks% return で調べると、一度でもWheelDownをするとそのあとマウスから手を離しても ずっとksの値はDのままになってしまいます。
362 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/04(水) 15:49:26 ID:x6p42A6B0] >>360 これはCloseHandle()の間違いらしい。 DllCall("CloseHandle", "Int", hProcess)
363 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/04(水) 16:55:55 ID:95AmdYfp0] >361 ホイールの回転はホイール押下みたいなUP/DOWNが有るイベントじゃないから 状態を取ること自体間違ってる気がする
364 名前:361 mailto:sage [2006/01/04(水) 17:01:50 ID:SbxpZ6KF0] >>363 ホイールが回転されるまで待機、ってことがやりたいんですが 無理ですか?
365 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/04(水) 19:47:56 ID:95AmdYfp0] 単にWheelDown::に処理書いてやって,フラグ立てるなり終了するなりすればいいんでは
366 名前:361 mailto:sage [2006/01/04(水) 19:50:45 ID:SbxpZ6KF0] >>365 & WheelDown::の最中で待機したかったんですが あきらめて他の仕様にすることにします
367 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/05(木) 01:16:03 ID:YlkDRsZz0] フォルダのパスを引数として渡し、 「フォルダの参照」ダイアログのツリーを操作して 引数のフォルダを選択させる、ということをしたいのですが、 どのようにすればいいのでしょうか? DialogSetやDialogHandlerが使えないソフトにも 自前で対応させようとしているのですが、 「フォルダの参照」ダイアログがどうにもできず困っています。 助言をいただきたいです。
368 名前:355 mailto:sage [2006/01/05(木) 01:17:18 ID:n7Jr+2qn0] >>362 亀レスすみません エラー出なくなりました。ありがとうございます。
369 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/05(木) 01:40:30 ID:8eGMClaI0] >>367 「フォルダの参照」の場合、パスをセットする場所がないので ルート(マイコンピュータ)からインクリメンタルサーチで1階層ごとに フォルダ選択していくしかないのでは? DialogHandlerは随分とうまいことやってるけど、多分100%の無理そうな気がする。
370 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/05(木) 01:41:29 ID:8eGMClaI0] ×多分100%の無理そうな気がする。 ○多分100%の精度での実現は無理そうな気がする。
371 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/05(木) 10:54:01 ID:mE3SDKUy0] 一応フォルダの参照ダイアログの選択フォルダを指定する 方法はあるが(>>369 のような不確かな方法ではない) AutoHotKeyでは無理っぽい気がする。 とりあえずSHBrowseForFolder SHGetPathFromIDList あたりでググってみるといい。この方法は環境に問題がなければ 精度はほぼ100%だよ。(完全に100%かもしれないが、 言い切れるほどの確認はしてないので)
372 名前:367 mailto:sage [2006/01/05(木) 15:29:16 ID:YlkDRsZz0] >>369 >>371 レスありがとうございます。どうも難しいようですね。 「フォルダの参照」の場合はDialogHandlerに丸投げすることにしました。
373 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/07(土) 16:48:04 ID:g9rnGIxl0] 特定のアプリにのみ有効にすることはできますか? また、マウスジェスチャ(←→ならESCなど)を指定することはできますか?
374 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/07(土) 17:08:20 ID:E/GD5dod0] そのように書けばできますYO!
375 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/09(月) 15:47:48 ID:OvYu84cO0] >>347 AutoHotkeyユーザーではありませんが、347さんと同じような現象で困っていてこのスレにたどり着きました。 tuneappスレ(Windows2000/XP チューンナップ専用スレ Part17)にも書き込んでます。 以前はこんな現象は起こらなかったので困ってます。 常駐ソフト切ったり、バージョンを変えたり(上げたり落としたり)しても同じく原因がわからないんですよね・・・ レジストリを書き換えても(tuneappでも可)、TweakUIの「アプリケーションにフォーカスを横取りさせない」のチェックボックスに変化無し。 チェックボックスを外してもいつの間にかチェック状態に戻ってしまう・・・ Windows2000を普段使ってまして、WindowsXPだと起きていないので Windows2000の何かが原因なんですかね。 ネットで調べたらWin32 APIてのが関係してるかもしれないようですが、お手上げ状態です。
376 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/09(月) 17:38:31 ID:r9CSfa8s0] >>347 今更だが、Regmon辺りで書き換えてるアプリ探すのが一番かと ForegroundLockTimeoutでフィルタリングして放置しておけばそのうち引っかかると思うぞ
377 名前:347 mailto:sage [2006/01/09(月) 21:51:22 ID:gCdov2U80] >>376 残念ながらそれはもう試してた。Regmonでは引っかからなかったよ。 Tweak UI等での正規の方法で変更する場合は関知してくれるけど、このバグの場合は無理らしい。 いっそ、この問題が起こる人用のスレでも立てて、全使用ソフトを書き連ねる→共通するソフトが容疑者 って方法でも取らないと無理かなぁ…ちなみにOSはXP SP2です。 とりあえず原因が除去できないならってことで、>>347 で書いたものの代わりにこんな感じで無理矢理対処。 SendMessage等を用いたもっとスマートなやり方を誰か分かれば頼む。 TweakFocus: Run, TWEAKUI.EXE WinWait, Tweak UI ControlSend, SysTreeView321, {Down}{Right 2}, Tweak UI Sleep, 50 Control, UnCheck, ,Button2, Tweak UI Sleep, 50 ControlClick, Button6, Tweak UI return
378 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/09(月) 23:37:50 ID:r9CSfa8s0] >>377 Regmonでダメだったのか 古典的なwin.iniのCompatibility95セッションに追加する手法は?
379 名前:347 mailto:sage [2006/01/10(火) 00:20:10 ID:YKl99lMm0] >>378 こんな簡単な解決方法があったとは… 根本的な解決になったわけではないけど、実用上は何の問題もなし。 激サンクス!
380 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/10(火) 12:26:18 ID:edhaETY50] 今更かもしれませんが・・・前スレ749さん hModule := DllCall("LoadLibrary", str, "DengakuDLL.dll") p := DllCall("DengakuDLL.dll\TOHANKAKU", "str", "01234567890", "str") msgbox, %p% DllCall("lstrcpy", "str",str1, "str", p) msgbox, %str1% DllCall("FreeLibrary", UInt, hModule) で、動きました。処理途中で解放されていたのが問題だったぽいですね。 すでに解決してたらすいません。
381 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/10(火) 21:55:48 ID:h3Yb+cm+0] DllCall("SetCaretBlinkTime",UInt,100) とやってもすぐに反映されず、何かアクションを起こさなければ速度はそのままです。 何か足りないんでしょうか?
382 名前:前スレ749 mailto:sage [2006/01/11(水) 01:30:09 ID:95IZTI+k0] >>380 あ! LoadLibraryで確保すればOKだったのか。 管理人氏がBRegExp.dll でやってたのは知ってたけど再検証はしてなかったです。 (自分でも忘れてた) 秀マクロ用のDLLが使えるようになるのは結構大きいかも。 教えてくれてアリガトン てことは、AHKでも田楽DLLのSETVER/GETVERでグローバル変数が扱えるのかな iniとか経由なしでオンメモリ上で秀マクロや他のアプリとデータを共有化できるのか うはw夢がひろがりんぐwww
383 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/11(水) 04:51:40 ID:tIP7xIJe0] 起動するとそのままタスクトレイに入るソフトがあるんですが、 これをScrollLockで起動・終了したいんですね。 で、こんな風に書いてみたんですが…… ~ScrollLock:: Process, Exist, task.exe if ErrorLevel = 0 Run, task.exe else WinClose, ahk_pid %ErrorLevel% return これだとそのソフトの終了ができないんです。 ここの「WinClose」が「Process, Close」にすれば「強制終了」はできるんですが、 強制終了でなくふつうの終了がしたいんです……。ソフトの挙動が変わってしまうので。 タスクトレイアイコンを右クリックでxすると終了できるので、 この「WinClose」の行を「Send, #b & AppsKey & x」とかやってみたんですが、 別のアイコンにフォーカスが当たってしまい、、、どうにもうまくいきません。教えてください。
384 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/11(水) 05:02:56 ID:XYQfQQRG0] トレイメニューの「閉じる」のコマンド番号を調べておいてWM_COMMANDで送ってやればいいような
385 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/11(水) 07:58:09 ID:95IZTI+k0] 挙動の本質とは関係ないかもしれないけど、Locks系の押下情報は OSが返してくる値がおかしいからホットキーに割り当てるのは控えたほうが良いと思われ
386 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/12(木) 01:07:46 ID:rmvCVckQ0] なまず日記すげえな。
387 名前:383 mailto:sage [2006/01/12(木) 03:13:12 ID:HWiUEJ9g0] 助言ありがとうございました。 Send, #b{APPSKEY}x これでいけました。 これ「ソフトがタスクトレイの左端にある」ことを決めてかかっているのでよくないですが、 紹介いただいた「コマンド番号を調べる」方法を知らないので……(^^; ぐぐって見て、 ResouceHackerでできるという話があったのでやってみたんですが、 それらしいエントリが見つからず……断念。
388 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/12(木) 03:30:15 ID:5XY6ilOR0] Direct Command ttp://members.jcom.home.ne.jp/shinonon/dircmd.html 終了命令はこれで調べられる可能性があるよ SendCmdをRunさせてもいいし、 AHK内でも処理できる。
389 名前:383 mailto:sage [2006/01/12(木) 21:12:12 ID:HWiUEJ9g0] ありがとうございます。 ただ、流行らせるページで紹介されている方法も含め、ソフトが特殊なのかうまくいきませんでした……。 件のソフトはWorkCheckerという、キーの押下回数をカウントするソフトなんですが(^^; 終了時にCSV形式でファイルを出力するもので、強制終了するとこれをやってくれないんですよ。 「終了」のほうは、とりあえず何とかなっているのでこれでいいとして、 もう一つうまく行かないことがありますので、よろしければお願いします。 Media Player Classicを「フルスクリーン」にしているときに、 383で挙げているスクリプトを走らせると、MPCのフルスクリーン化が解除されてしまうんですね。 これが「ウィンドウの最大化」なら、特に解除されることもないんですが……。 問題の部分はこんな感じになってます。 WinGetActiveTitle, player Send, #b{APPSKEY}x WinActivate, %player% このSendをした際に、 タスクトレイにフォーカスが移ってタスクバーが出たままになるのを何とかしたくて このような処理をしてみたんですが、先にも書いたとおり、 最大化したウィンドウでは期待どおりに動くものの、全画面化した場合はうまくいきません。 WinGetActiveTitleが、タイトルの取得のためにウィンドウ表示に戻してしまうんでしょうか……。 ちなみに、playerにはMPCの決め打ちができません。
390 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/12(木) 21:23:04 ID:HWiUEJ9g0] あ、ちなみに、MPC以外でも同じ状態になります。 それと、 WinGet, player, PID 〜 WinActivate, ahk_pid %player% とか、PIDじゃなくてIDだとかの場合も試しましたが、これもうまくいかず。
391 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/13(金) 01:26:59 ID:+pozkCUx0] 今プログレスバーを半透明にしようとしているのですが、期待した表示になりません。 Progress,cwFFFFFF ,,name,time winset,TransColor ,FFFFFF 50,time return esc::exitapp ウィンドウを半透明にして文字とバーは透過なしにしたいのですが、出来ないのでしょうか? これだとウィンドウが完全な透明、文字とバーが半透明になります。 Trans ,で設定するとウィンドウは半透明なのですが文字も半透明に。。トホホ。
392 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/13(金) 12:15:47 ID:5XB+c2x50] 2枚重ね
393 名前:391 mailto:sage [2006/01/13(金) 17:00:20 ID:dZX44Wpz0] >>392 ありがとう!発想を変えれば良かったんですね。希望の動作になったので報告までにはっときます。 オプションでツールウィンドウを指定してるのは、タスクバーに表示させたくないためです。 gui,add,text Gui, Color,000000 gui,+ToolWindow +AlwaysOnTop +OwnDialogs -border gui,show,w300 h200,back winset,Trans, 50,back Progress,cwC8D0D4 ctFFFFFF B,,name,time Progress,50,,,time winset,ExStyle,+0x00000080,time winset,TransColor ,C8D0D4 255,time return esc::exitapp
394 名前:381 mailto:sage [2006/01/14(土) 21:15:58 ID:6j6GF4sd0] いまだ解決せず。 キャレットの速度変更した後、Send,{Left}{Right}とか無理やりアクション起こすと 色々不具合がでるソフトもあるし・・・ SmartCaretはどうやってるんだろう。
395 名前:383 mailto:sage [2006/01/17(火) 10:21:04 ID:aCgAJjPo0] 一段落したのでまとめをさせてください。 したかったのは、プログラム全画面化時のキー押下回数のカウントでした。 カウントには>389で挙げているWorkCheckerというソフトを利用することにしていました。 はじめ>383にてScrollLockを使おうとしていたのは、 全画面化時でもキーボードインジケータによって動作中かどうかがわかるためです。 これによって挙動がおかしくなったかどうかはわかりませんが、>385さんの助言を受け、 起動キーを変更して(NumpadSubに)、動作情報はツールチップに表示させるようにしました。 いろいろ調べてみましたが、WorkCheckerのメッセージによる終了のさせ方がわからず、 タスクトレイにフォーカスを当ててキーをSendするというムリヤリな解決法をとりました。 その後WorkCheckerの使用をやめ、AutoHotkeyスクリプト内部の処理でカウントすることに。 これでスクリプト終了の問題は一応決着がつきました。 が、その数値をファイルに書きこむ際、エントリ名を取得しようとInputBoxを出すと、 >389と同じ状況になり、全画面化が解除されてしまいます。 最大化でなく全画面化なので、WinMaximizeでも状態を復帰させることができません。 いろいろやってみたところ、WinGetActiveTitleとかWinActivateには問題がなく、 プログラムの全画面化が解除されるのは、タスクトレイやInputBoxなど 他のウィンドウにフォーカスが移ったときであることを突き止めました。 また、この現象は、プログラムの最大化時や、 IEのキオスクモード(F11を押すとできる一種の全画面化)では発生しないこともわかりました。 以上です。 全画面化の解除問題は解決してないのですが、うまくいきそうにないので諦めることにしました。 プログラムはPerlのワンライナー程度のスクリプト処理をちょっとかじっていただけ、 Windowsプログラミング経験なしのド素人なので、 コメント行やエラー処理も含めて100行を越えるスクリプトを書いただけでいっぱいいっぱいです(^^; 皆さん、助言どうもありがとうございました。
396 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/17(火) 13:41:14 ID:aCgAJjPo0] まとめてみて、もしや、と思って試してみました。 全画面化中にAlt+Tabをしてみると、AHKスクリプトでの全画面化解除の挙動と一緒でした。 つまり、AHKスクリプト中に全画面化解除されるプログラムは、Alt+Tabでも解除され、 AHKスクリプト中に解除されないプログラムは、Alt+Tabでも解除されませんでした。 (最大化した場合や、IEのキオスクモード) この問題の発生はAutoHotkeyに直接関係がなかったようです。お騒がせしました。
397 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/17(火) 17:29:06 ID:kObrtqt+0] 全画面化解除されても、復帰させれば問題ないのなら、 全画面化解除されるアプリ毎に全画面化に必要な操作をAHKにさせれば良いんでねーの? 数が多いと嫌になるかもしれんが、大抵全画面化のホットキーは決まってるし。
398 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/22(日) 12:49:22 ID:2qAgcpH90] 時間の計算で難儀してます.... 時刻t1〜時刻t2間の時間T[s]を求める際に、 T := t2 - t1 みたいな書き方はできるんですが、 時刻t2と時間T[s]から、 t1 := t2 - T のような式だとうまくいきません。 たとえば、ここでT=300[s](5分)として計算すると、 t2を時間としてでなく、数値として解釈するようで、T=3:00(3分)として計算されてしまいます。 t1 := t2 - T, Second とやると、今度は「TがYYYYMMDDHH24MISSのフォーマットではない」とエラーになるし、 EnvSubのマニュアルを見ていてもいまいちやり方がわかりません....
399 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/22(日) 15:46:10 ID:Yqz0MIUn0] EnvAddで-300秒を足すんじゃなかったけ?
400 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/22(日) 16:19:08 ID:1N3K73ci0] 時間計算はEnvAddとEnvSubの扱いの違いに気がつかないとハマるな 過去スレでも何度か話題になってるから調べてみ
401 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/22(日) 17:01:54 ID:2qAgcpH90] ほ、ほんとだ... >399,400 レスありがとうございました。 EnvAddのマニュアルにも、たしかにそれらしい文言がありますね。 でもこんなのわかんないよぅ...
402 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/22(日) 17:12:45 ID:v9Q+2/T40] タイトルバーで中クリックされたら処理を行うってこと(QuickDirみたいなもの)がやりたいんだけど、 どんな感じでやれば良いんでしょーか。とりあえず↓のようにやってみたけど、 SendMessageの使い方が間違ってるのか、うまくいかないっす。(ErrorLevelがFAILになる) ~MButton:: MouseGetPos, x, y, id SetFormat, integer, H x += 0 y += 0 xy := x + y * 0x10000 SendMessage, 0x84, 0, %xy%, ahk_id %id% If ( ErrorLevel == 2 ) { ;ここに処理を入れる } return
403 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/22(日) 17:52:51 ID:69RhDVUi0] 1.0.40.12から1.0.41にバージョンアップしたら、 RWin up::Return が効かなくなってしまいました。 AutoHotkeyを常駐させ、右Windowsキーを >#i::Send,{Up} >#k::Send,{Down} のように使っているのですが、Windowsキーを押して そのままはなすとスタートメニューがでるのがいやで 冒頭のものを一緒に書いていました。 ところが1.0.41ではスタートメニューがでてしまいます。 解決する方法があれば教えてください。
404 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/22(日) 17:54:27 ID:1N3K73ci0] 0x84 て何だっけ? 値からメッセージ名探すの大変なんで質問する時はコメントとか入れてクレ
405 名前:402 mailto:sage [2006/01/22(日) 18:30:09 ID:v9Q+2/T40] >>404 スイマセン。 コメント入れるとこんな感じです。 ~MButton:: MouseGetPos, x, y, id ;カーソル下の座標とid取得 SetFormat, integer, H ;座標を16進数に変換 x += 0 y += 0 xy := x + y * 0x10000 ;座標を上位ワードと下位ワードにまとめる SendMessage, 0x84, 0, %xy%, ahk_id %id% ;カーソル下のウィンドウにWM_NCHITTESTを送る If ( ErrorLevel == 2 ) ;タイトルバーならば処理を実行 { ;ここに処理を入れる } return メッセージに関してはここを参考にしました。 ttp://www.winapi-database.com/Message/WM/WM_NCHITTEST.html
406 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/22(日) 19:02:30 ID:GjGnwmrQ0] >>403 1.0.41 から流行らせるページの 2 stroke key も動かなくなっちゃいましたね。 本体のバグだと思うんで、本家の更新待ちです。
407 名前:406 mailto:sage [2006/01/22(日) 20:00:46 ID:GjGnwmrQ0] すいません。 Ctrl key double tap の方でした…。
408 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/22(日) 21:39:01 ID:1N3K73ci0] >>405 とりあえず2つほど気がついた点。ただこれでも期待通りの値は取れてないが。 ・SendMessage はウィンドウ指定より先にControlを指定する。(FAILの原因) ・MouseGetPosのX,Y座標はアクティブウィンドウの左上からの相対座標で取得される。 (CoordMode,Mouse,Screenを実行してない場合) つかこのWM_NCHITTESTって「非クライアント領域のどの部分でマウスが操作されたか調べる」って なってるんだけど、いいのだろうか ~MButton:: MouseGetPos, x, y, id,ctl ;カーソル下の座標とid取得 xy := x + y * 0x10000 ;座標を上位ワードと下位ワードにまとめる SendMessage, 0x84, 0, %xy%, ,A MsgBox, ErrorLevel=%ErrorLevel% return 自分もキャプション位置を取得するのにかなり面倒な関数組んでるので こんな簡単にまとめられるならその方が有り難いんだがね
409 名前:402 mailto:sage [2006/01/22(日) 23:52:19 ID:v9Q+2/T40] >>408 座標自体は16進変換しなくても良かったんですね。 自分もその座標の原点をどこにすればよいのか分からなかったので、とりあえずそのままやってみた次第です。 どうやら、Delphi製もしくはWTLを用いて作られたソフトではうまくいくようです。 >自分もキャプション位置を取得するのにかなり面倒な関数組んでるので どのようなロジックで実装されているんでしょうか。
410 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/23(月) 03:04:13 ID:zfPva1iV0] >>409 ちと長いんで自ブログのほうに上げますた。無駄に助長だが一応コピペで当座は動くと思う ttp://d.hatena.ne.jp/eamat/20060123
411 名前:403 mailto:sage [2006/01/23(月) 22:02:12 ID:mqTpMs440] >>406 そうなんですか。 では次のバージョンでの改善を望むことにします。
412 名前:402 mailto:sage [2006/01/24(火) 01:16:40 ID:JUUu5mZd0] >>410 ありがとうございます。期待通りの動きとなりました。 ご苦労の程お察しします。 自分はSendMessageの挙動はいまいち理解できていなく、 根本的な解決法を考えられそうにないので、誰か識者の方ヘルプ^^
413 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/24(火) 11:29:31 ID:hmUrV7Tv0] winキーを単体で押したときだけ無効にするにはどう設定すればいいんでしょうか win+Dとかの操作は有効にしたいんですけど LWIN::Return とすると全部無効になってしまいます。
414 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/24(火) 12:41:36 ID:ArnUgYQ30] 質問前にせめて10レス前ぐらいは読みたまえよ
415 名前:413 mailto:sage [2006/01/24(火) 16:50:53 ID:hmUrV7Tv0] 1.0.40.12 で LWIN up::Return としても全部無効になってしまいます どうしたらいいんでしょうか
416 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/24(火) 23:18:38 ID:Kbo1n5/E0] >>412 ttp://cgi19.plala.or.jp/lukewarm/news/2006_01.html#23
417 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/24(火) 23:30:27 ID:duKuEjYk0] >>413 LWIN::Return LWIN & LWIN::Return;二つ目のLWIN部分は何でも良い。 裏技的だが・・v1.0.40.05ではこれで動いた。他verではどうなるか知らん。
418 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/24(火) 23:35:41 ID:duKuEjYk0] >>416 あぁ、なるほど、SendMessage自体を直に呼べばいいのか。目から鱗。 そうだよなぁ・・・気が付かなかったなぁ・・
419 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/25(水) 00:09:26 ID:1ITNklYD0] >>416 ぬおお、コンパクトだ。さすが
420 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/25(水) 00:37:47 ID:whVXuEi20] ぬるたん ∩ ( ⌒) ∩_ _ グッジョブ!! /,. ノ i .,,E) / /" / /" _n グッジョブ!! / /_∧ ,/ノ' ( l ∧_∧ / /*´∀`)//∧_∧ グッジョブ!! \ \ (*´∀`)( / (*´∀`) n ヽ___ ̄ ̄ ノ ヽ |  ̄ \ ( E) / / \ ヽ フ /ヽ ヽ_//
421 名前:402 mailto:sage [2006/01/25(水) 02:38:42 ID:XjlFS14L0] >>416 (n‘∀‘)ηキテルワー!! 確かにDllCallから使った方が確実ですね。 さり気なくビットシフトなどを使っている辺り、自分との経験?の差を感じます… 改めてお二人に感謝。
422 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/25(水) 04:04:49 ID:8YZ6hNpP0] あら・・スクリーン座標にするだけで、AHKのSendMessageでも出来たよ・・・ 問題はそこだったか・・
423 名前:413 mailto:sage [2006/01/25(水) 19:22:45 ID:sklEJtBz0] >>417 1.0.41.00 で動きました! ありがとう
424 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/26(木) 00:09:38 ID:NczzL1RK0] RButton & WheelDownにAltTabを割り振りました 特定のアプリだけ、この機能を無効にしたいのですがそれは可能でしょうか Sendにするとすぐキーを離してしまうし、かといってifで条件分岐したあとにAltTabを置いても機能しません
425 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/26(木) 03:33:13 ID:AxRUycRL0] #IfWinActive
426 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/27(金) 18:46:53 ID:khUBsNcY0] 点呼スレがピンポイントで狙われてるな、何でだろ
427 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/27(金) 18:52:03 ID:MkK/HyNo0] NP2のウィンドウに対してだけ急にahkが効かなくなっちゃったんですが どうすればまた有効になるんでしょうか?
428 名前:403 mailto:sage [2006/01/27(金) 23:27:57 ID:/9813JvU0] >>417 遅ればせながらありがとうございます。 それでうまくいきました。
429 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/28(土) 14:18:33 ID:+ZZFrik00] AHKだと、こういうコメントの書き方できませんね。 /******************************************************************************* * これは、ahkのコメントを確認するためのサンプルです *******************************************************************************/ これもダメ。 /******************************************************************************* * これは、ahkのコメントを確認するためのサンプルです ****************************************************************************** */ これならOK。 /******************************************************************************* * これは、ahkのコメントを確認するためのサンプルです ****************************************************************************** */
430 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/28(土) 14:37:46 ID:9fE5ExNP0] ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; これでいいじゃん ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
431 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/28(土) 15:18:26 ID:M2n6ETLA0] /* 行頭に無いとコメント終始認識されないよん */
432 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/28(土) 16:09:27 ID:QgFgpb9I0] ちょこちょこ弄ってたら常駐スクリプトが16KB突破… Runコマンドで呼び出してるのも含めたら40KB超えてたよ。 AutoHotkeyって自由度高い分、各人がどんな使い方してるか気になる。 自分は無変換、変換、カナ/かなキーを修飾キーとしてキーやコマンド割り当てをするのがメイン。 各ウィンドウ位置の保存とかも簡単だし。 トリプルクリック、クワドロプルクリックでも自由に設定できるのも良いね。 あとは、エディットボックスならどんなソフト上にあるものでも 電卓・検索・辞書・コマンドランチャとして使えるようにしたりとか。
433 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/29(日) 22:55:37 ID:g1nyLRt50] 各スクリプトの共通項を切り出してインクルードするのって無理だよね?
434 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/29(日) 23:08:49 ID:sQBDNXPy0] >>433 具体的に。
435 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/29(日) 23:10:30 ID:g1nyLRt50] AHKがインクルードファイルをサポートしてるか否か。 またそれに類する代替機能があるか。
436 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/29(日) 23:18:01 ID:sQBDNXPy0] >>435 ttp://lukewarm.s101.xrea.com/commands/_Include.htm
437 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/30(月) 00:25:20 ID:jpKlrbYu0] gdiplus.dllで描画出来ないYO!! GIFとかICONをPictureコントロールで透明色部分を背景透過して表示したいんだが、 うまくいかない・・ Gui, Add, Picture, AltSubmit BackgroundTrans, AAA.ico Gui, Show とかやっても透明部分が透過されないYO!!! ちゃんとgdiplus.dllはAutoHotkey.exeのフォルダに入れてあるのに・・ へるぷみー><; Win2Ksp4 Ahk1.0.41.00
438 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/30(月) 01:41:27 ID:uhBVy+7t0] >>437 dllが認識されてないとかかな。 system32ディレクトリに置いてみるとか、regsvr32で登録してみるとか、パス通すとかやっても駄目だった?
439 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/30(月) 15:20:34 ID:uhBVy+7t0] Run/RunWaitコマンドでコンソールアプリケーションに引数を与えて実行し、 標準出力を得たいんだけど、とりあえず直接標準出力を得るのは無理っぽいので、 ファイルにリダイレクトし、FileReadLineで読み込む方法をとることにした。 Run, %comspec% /c test.exe "引数" > %A_ScriptDir%\test.dat んで、↑のようにやっても、「 > %A_ScriptDir%\test.dat」部分まで test.exeの引数として認識されてしまうらしく、うまくいかない。 多分AHKは関係ないと思うんだけど、解決策求む。
440 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/30(月) 22:16:04 ID:llgn8y2u0] RunWait は試した?
441 名前:439@携帯 mailto:sage [2006/01/30(月) 22:46:29 ID:Spq+eLJkO] >>440 YES そもそもtest.exeに正しい値が渡っていないのであんまり関係ない感じ。 cmd.exeを経由しなくてもダメでした。 普通にコンソールで、 test.exe 引数 > test.dat とやる分にはうまく行くんだけど…
442 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/30(月) 23:57:09 ID:LkEIKve40] うちでもうまく行くのと行かないのがあった気が。 上手く行かないの早々にあきらめて捨てちゃったんでもう憶えてないけど。
443 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/31(火) 02:44:23 ID:cbKaLT0a0] なんかダブルクォートをAHKで処理してる感じ パラメータに日本語とか使ってない?
444 名前:439 mailto:sage [2006/01/31(火) 03:38:14 ID:iIRAafqH0] >>443 g_calcっていう引数として式を与えると、Google電卓を使った結果を出力するソフトで、 引数としては、1+2*4とか、sin(3.14)のような1バイト文字しか使ってないっす。 ttp://www.vector.co.jp/soft/win95/net/se337404.html …結局面倒なんで、このソフトと同等の機能を持つAHKスクリプトを作って対処してしまいました。 簡単なエラー処理入れても5行程度で済むのね。 なので、自己解決したと言えばしたんだけど、せっかくだから、AHKで標準出力を確実に取得する方法を 後学のためにも知っておきたい。
445 名前:名無しさん@お腹いっぱい。 [2006/01/31(火) 11:20:44 ID:333EyHKl0] てst
446 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/31(火) 18:20:05 ID:61oRgPKa0] ニーツオルグ見た?
447 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/31(火) 18:28:13 ID:R4U/vQRD0] あそこトップがでかいんだもん。
448 名前:391 mailto:sage [2006/02/01(水) 01:02:52 ID:lbQsX6480] ttp://www.vector.co.jp/soft/win95/net/se269471.html コマンドライン型のメール送信ソフトなんだがAHKと組み合わせるとおもしろいな。 携帯にメール送るのに便利だわ。
449 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/01(水) 01:04:48 ID:lbQsX6480] 名前消し忘れてた。はずかし。。。。
450 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/01(水) 01:10:05 ID:mATxrmSJ0] >>448 詳しく
451 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/01(水) 01:15:27 ID:Ll9eZFNT0] POP Out ttp://www.vector.co.jp/soft/dl/win95/net/se367561.html これでメールチェックも出来るお(多分)
452 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/01(水) 07:17:12 ID:CHFM6H+R0] >>439 ttp://cgi19.plala.or.jp/lukewarm/news/2006_01.html#30
453 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/01(水) 13:09:29 ID:vBsLlalo0] ファイルの名前を、現在アクティブになってるウィンドウのタイトルにつけかえる、 というスクリプトを書いてみたんですが…… #SingleInstance IGNORE ^r:: f0 = test.txt FileAppend, test, %f0% WinGetActiveTitle, title StringReplace, title, title, `:, f1 = %title%.txt MsgBox, %f1% FileCopy, %f0%, %f1% MsgBox, %f0% return まめFileのように、タイトルに「パス - まめFile4」のようになっていると、 ファイルがA_WorkingDirにできてくれないので、 「C:\ほにゃらら」となっている部分のコロンを落とすようにしてみたんですね。 その後のMsgBoxでちゃんと落ちているのは確認できたんですが、FileCopyは失敗してしまいます。 どうしたらよいでしょうか。これがダメ文字というやつですか?
454 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/01(水) 15:19:14 ID:qvxzsIy40] コロンはパスの一部なので削ったらダメ タイトルが「パス - まめFile4」ってなってるのが原因なら、 パスじゃない部分「 - まめFile4」を削る。 ファイル名に日本語使ってないならダメ文字は関係ないよ
455 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/01(水) 15:25:04 ID:7xayIcgw0] あれだ、たぶん、 たとえば、WorkingDirがC\AHKだったとすると C\AHKC\ほにゃらら.txtってことになるってことだろ。
456 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/01(水) 15:51:43 ID:7xayIcgw0] あ、ちょっと、的ずれてた・・ タダ単に、相対パス指定では\以外で始まる指定は出来ないってだけだた・・ ごめん<>
457 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/01(水) 15:54:39 ID:vBsLlalo0] えーと、こんな感じです。 C:\ahk ←これがWorkingDirで、 C:\home ←たとえばまめFile4でここを開いているとします。 「C:\ahk\"C:\home\ - まめFile4".txt」みたいな感じにしたいのですが、 ;;ほんとはこんな名前のファイルはつくりたくないのです。 ;;タイトルにパスが入るソフトの対策のためのテストというわけで。 「C:\home\ - まめFile4.txt」という名前で保存されることになるため、 実際にはC:\homeの下に「- まめFile4.txt」がつくられてしまうんですね。 で、これを回避したい、ということで。 それで、とりあえずコロンを落とすことにしてみたんですが…… あと、「\」も問題だと思ったので、「¥」に変えるとかしてみましたが、うまく行かず。 コロンを残しているとこんな感じになります。 「C:¥home¥ - まめFile4.txt」つまり、「C:」に「¥home¥ - まめFile4.txt」ができちゃう。
458 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/01(水) 16:01:53 ID:5DqBaWvy0] 119 名前:unnamed.ahk[sage] 投稿日:06/02/01(水) 05:06 ID:??? そんなの聞く必要あるの? この程度の簡単なものなら、見ればどういう動作するかはすぐにわかるんだから 自分にとって益があるなら使えばいいし、不要なら構わなければいいじゃん。 >>116 を誰が何の用途に使おうとどうでもいいだろ。 ↑こいつ何様?
459 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/01(水) 16:03:04 ID:vBsLlalo0] もう少し補足。 タイトルにパスが入って悪さをしさえしなければ問題がないんです。 で、ウィンドウのタイトルを拾うため、どうしてもファイル名に日本語が入ることは避けられません。 たとえば今このスレはJane Doe Styleで見てるんですが、これで同じ操作をすると、 タイトルが「Jane Doe Style 【ソフトウェア】 - AutoHotkey Theread 2」となっているので、 これ+.txtという名前にしたいわけなんです。 やっぱり難しいんですかね……
460 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/01(水) 16:39:10 ID:7xayIcgw0] いや、別に平気でしょ。ただ日本語入るとダメ文字に引っかかる可能性あるのでそこは考慮する必要があるかもしれない。 ただ、さっきの問題とは別だよ。 ^r:: WinGetActiveTitle, title StringReplace, title, title, `:,: StringReplace, title, title, \,\ , All msgbox, %title% FileAppend, , %title%.txt 基本はこんな感じになる。タイトルのファイルがダメ文字無ければ ワーキングディレクトリにちゃんとファイル出来るよ。 ダメ文字関連はここ参照 ttp://www.tierra.ne.jp/~aki/diary/?date=20060111
461 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/01(水) 16:44:07 ID:7xayIcgw0] >タイトルのファイルがダメ文字無ければ >ワーキングディレクトリにちゃんとファイル出来るよ。 文章めちゃくちゃだな・・(;´Д`) タイトルにダメ文字含まれてなければ、ちゃんと ワーキングディレクトリに狙ったとおりの名前のファイル出来るよ。 と言いたかった・・スレ汚れまくりごめん<>
462 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/01(水) 17:22:32 ID:qvxzsIy40] >>458 えー、そのスレの 118=120 だけど、ここに持ち込まんでも… ちなみに大元の書込み人からは補足が入った模様です
463 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/01(水) 17:37:40 ID:vBsLlalo0] およよ…? 何かうまくいきますね。 すみません、レスいただいてありがとうございました。
464 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/01(水) 17:49:47 ID:7xayIcgw0] SerchStr=\/:,;*?"<>| ReplaceStr=\/:,;*?”<>| ^r:: WinGetActiveTitle, title c=0 Loop{ StringMid, s, SerchStr, c+1, 1 if !s break StringMid, r, ReplaceStr, c*2+1, 2 StringReplace, title, title, %s%, %r%, All c++ } msgbox, %title% FileAppend, , %title%.txt >>463 これでファイル名に使えない文字はOKかな・・
465 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/01(水) 21:08:57 ID:vBsLlalo0] うを、すばらしい! そのまま組み込んでみます。重ね重ねありがとうでした<O>ペコリ
466 名前:448 mailto:sage [2006/02/01(水) 21:37:49 ID:+NEdY0Ev0] ;メールサーバー host=mail.xxx.xxx.jp ;表示するメアド mine=xxx@xxx.xx.jp ;送り先のメアド address=xxx@xxx.xx.jp filedelete,temp.txt fileappend,,temp.txt sleep,100 run,temp.txt sleep,1000 winwaitclose,temp.txt run,smail.exe -h%host% -f%mine% -Ftemp.txt %address% return こいつをsmailのフォルダにいれてAHKを起動。ノートパッド開くから本文書いて閉じる。これでメール送信完了です。 自分はiniでアドレス帳作って、メニューで選択、確認ボタン、終了後に送信ログ残すようにしてる。 表示メアドに携帯メアド設定しとけば、携帯料金浮いてなかなかおいしいです。 いちいちメールソフト立ち上げてヘッダ変えてっつーのがめんどくさいもんで。
467 名前:439 mailto:sage [2006/02/02(木) 17:06:47 ID:T+u93vk30] >>452 何かDllCallだらけで、どういう仕組みになってるか良く理解できてないけど、 とりあえずうまく標準出力を取り込めたよ。サンクス。
468 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/02(木) 17:09:23 ID:RzOqQmwX0] 出てるスクリプトまとめたいんだが 本人はスクリプト理解してないんだよなぁ。 やっぱある程度分かってる人がまとめた方がいいよね。
469 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/04(土) 13:22:47 ID:vcsivbfp0] Autohotkeyでは上手くテキストを取得できない リストヴューのテキストを取得したいんだけど (Clipyでは取れた。具体的にはnPOPのメール一覧) コマンドラインでWINDOWとかクラスとかを指定してテキストをコピーしてくれるような ツール知りませんか。
470 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/05(日) 18:35:24 ID:Uooh/wVt0] ネットの一時ファイルのうち、jpgファイルだけ削除したいのですが、 FileDelete, C:\Documents and Settings\ユーザー名\Local Settings\Temporary Internet Files\*jpg とやっても消えてくれません。 Temporary Internet Filesって、普通じゃ消せないのでしょうか。
471 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/05(日) 19:37:58 ID:dd1IDrgA0] 実際はその二階層下のフォルダに入っている その書き方だと直下のJPGしか消さないかも Temporary Internet Filesを Loopして拡張子が JPGだったら消すようにしたらいいのではまいか。
472 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/05(日) 21:13:30 ID:Uooh/wVt0] >>471 content.ie5以下のフォルダにあるんですね。はじめて知りました。 以下のもので出来ました。感謝。 ^#D:: path = C:\Documents and Settings\Admin\Local Settings\Temporary Internet Files\Content.IE5\ Loop, %path%*.jpg , 1 , 1 { FileDelete, %A_LoopFileFullPath% } return
473 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/06(月) 09:47:34 ID:XthrTebI0] なまず日記さんがすげーことをやってるぞ
474 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/06(月) 10:45:51 ID:wtWU+HDQ0] あそこはすごすぎてワシャついていけんw
475 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/06(月) 11:52:47 ID:+ZyBL9kh0] よかった、ついて行けないのは俺だけじゃないんだw すごすぎて感嘆のため息しか出ません
476 名前:名無しさん@お腹いっぱい。 [2006/02/06(月) 14:24:28 ID:3MY6UK/h0] >>473 IMEの状態表示っていうの試したけど iniが初期状態だと何も起きないね iniの仕様調べてまで試す気起きないな
477 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/07(火) 15:24:32 ID:cd4qYKRv0] このスクリプトがうまくいかないのはなぜでしょうか。 Home:: SetTitleMatchMode, 2 /* IfWinExist, メモ帳 { ControlSend,, ^s Send, a } */ IfWinExist, xyzzy { ControlSend,, ^a ;Send, ^a MsgBox, %ErrorLevel% } return Homeキーを押したらxyzzyにCtrl+Aを送る、というテスト用に書いたスクリプトなんですが、 アクティブなxyzzyにSendするのはできても、ControlSendはアクティブかどうかに関わらず動いてくれません。 でもErrorLevelは「0」です。 試しにメモ帳で似たようなことをやってみたんですが(上のコメントアウト部分)、こちらはすんなり通りました。
478 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/07(火) 16:56:51 ID:I1jBElpS0] Home:: IfWinActive, xyzzy send, ^a else send, {home} return
479 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/07(火) 16:58:56 ID:I1jBElpS0] あ。勘違いしてたすまん・・・なかったことに・・・
480 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/07(火) 18:50:22 ID:I1jBElpS0] Home:: IfWinExist, xyzzy SendMessage, 0x102, 0x1, 0x1E0001 ;lParamは指定しなくても動くみたいだが・・。 return よくわからん。。これで一応逝けるけど。非アクティブだと反応が鈍い。 識者頼む。
481 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/07(火) 18:56:46 ID:I1jBElpS0] 書き忘れ0x102はWM_CHARです。
482 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/07(火) 19:00:10 ID:fWzsdUXL0] 出来ないなxyzzy クラスの取得出来ないし、何か特殊なんじゃないか?
483 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/07(火) 22:59:45 ID:I1jBElpS0] >>480 修正 Sendしちゃだめだったみたい。ポストしたらちゃんと動いた。 Home:: IfWinExist, xyzzy PostMessage, 0x102, 0x1, 0x01E0001 ;0x102はWM_CHAR 01E部分はスキャンコード、環境によると思うので適当に修正してくれ。つか、もしかしたらlParamは要らないかも。 return
484 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/08(水) 02:59:44 ID:ENi2eeYG0] xyzzyのクラス名は確か " "(スペース)かなんかだったと思う テキスト描画部は "1" とかそんなん。
485 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/08(水) 15:48:29 ID:h/owdFIx0] >483 どうもいろいろ確かめていただいてありがとうございました。 ほとんどスレ違いになっちゃうのでこの書きこみだけにとどめますが、 どうもxyzzyの入力の受け付けはかなり特殊なようです。 他に試した限りでは、 場所に応じてIMEのON/OFFを自動切替する「Dさんの日本語じゃなきゃイヤン」というソフトも、 キーマップを入れ替える「姫踊子草」というソフトも、xyzzy上でだけは挙動不審になりました。 その都度メモ帳でも確かめましたが、こちらでは正常動作してました。 どちらも捨てがたいソフトながら、xyzzyでまともに動かないという一点で泣く泣く使用を諦めました。 ドライバレベルで動作する「窓使いの憂鬱」でもない限り、 入力関係ソフトにとってxyzzyは鬼門のようです。
486 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/11(土) 21:24:33 ID:ylI57ddE0] スクリプトのコマンドラインオプションの出現位置を可変にしたいのですが、うまくいきません。 ^o:: Loop, %0% { ;if (%1% = aaa) if (%A_Index% = aaa) MsgBox, hit! } return Ctrl+Oで引数表示というサンプルを書いてみました。 はじめ引数に「aaa」だけ指定して、 このコメントアウトしている部分の条件で行なうと、きちんとhitしました。 そこで今度は「bbb aaa」を引数に指定してみて、上記のように書いてみたんですが×。 「%A_Index%」を「%%A_Index%%」としてみたら案の定怒られました……。 引数の出現位置って決まってないとダメなんでしょうか???
487 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/12(日) 02:36:41 ID:L6cRhp4J0] すいません、本家のサイトで調べて自己解決しました。 しかし、こんなやり方ほとんど裏技っぽい……。 param = %%A_Index%% はダメだけど、 param := %A_Index% ならOK、とのこと。
488 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/12(日) 02:40:14 ID:2QBETCrR0] ネットゲームなんかで割り当てたホットキーが使えなくなるのはなんとかできないものでしょうか? 窓使いの憂鬱でも使うしかないのでしょうか・・・
489 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/12(日) 02:46:26 ID:gYCfWe6P0] >>487 外出。
490 名前:sage [2006/02/13(月) 00:13:32 ID:xfk4rPhl0] 質問です お試しに使い出したらすごいはまったんですけど 皆さん割り当てるキーってなんかうまいことやってますか? できるだけ他のアプリのショートカットとは競合しないように 設定したいのですが,何が安全なのかわかりません コツがあったらお願いします!
491 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/13(月) 00:17:29 ID:C1wU8uUC0] sageはメール欄にどうぞ
492 名前:490 mailto:sage [2006/02/13(月) 00:34:08 ID:xfk4rPhl0] だな・・・ 多分生まれて初めてのミスだけど自然と心地良い
493 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/13(月) 01:06:49 ID:DnCFW1yt0] >>490 Ctrl+Win+○ をAutoHotKey用のショートカットにしてる。これならほとんど被らないし。 ^#G ;選択文字列をググる ^#W ;壁紙変更 ^#P ;スクリーンショットを時刻.pngで保存 みたいな感じ。実際はこのショートカットをマウスジェスチャーに割り振ってたりする。 AutoHotKeyのマウスジェスチャーに統合したいんだが、めんどいw
494 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/13(月) 06:24:46 ID:RLYX7csf0] これはバグ? j < %i% で比較すると i < j が表示され、 i > %j% で比較すると i > j が表示される。 両方%で囲むと i < j になる。 ^i:: i = 1 j = 2 ;if (j < %i%) if (i > %j%) ;if (%j% < %i%) ;if (%i% > %j%) MsgBox, i > j else MsgBox, i < j return
495 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/13(月) 07:46:35 ID:VjRV7iIc0] そりゃ文字列と数字を比較演算した場合の当然の結果だと思うが。 比較演算で数値と文字列扱えるどの言語だって同じ仕様でしょ。 MsgBoxに i と書いて文字列の"i"が展開されてるのを見れば気付きそうなものだが。
496 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/13(月) 08:17:16 ID:RLYX7csf0] そりゃ文字列と数字を比較演算した場合の当然の結果だと思うけど、 ttp://lukewarm.s101.xrea.com/Scripts.htm 条件分岐 If文で条件分岐が行える。 else文で条件に一致しなかったときの処理も記述できる。 比較条件は、if var = valueという形で記述できる。 比較演算子は、「=」、「<>」(not equal)、「>」「<」「>=」「<=」が使用できる。 左辺には変数名が来るが、右辺には値がこなければならないので、「%」で挟んで変数の内容を展開するようにする必要がある。 ↑ この最後の行に書いてあるでしょ。 ( )でくくるのがよくないのか。
497 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/13(月) 08:29:14 ID:RLYX7csf0] ttp://www.autohotkey.com/docs/commands/IfExpression.htm ( )でくくると文法が変わるわけね。この場合は if (i > j) と書かなければいけなかった、ということで。 ……なんだか仕様が混乱してるなあ。
498 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/13(月) 14:16:14 ID:HZjUhtGG0] たしかに、まぎらわしい仕様ではあるな
499 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/14(火) 15:34:05 ID:RVF5Wq5S0] WinSet, TransColorで透明色を指定できるけど、 この色だけ半透明にするって指定はできない? 例えば、WinSet, TransColor, AABBCC 127, WinTitleと書くと AABBCCは完全に透明になり、それ以外の部分が半透明になってしまう。
500 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/14(火) 16:09:25 ID:kdmpCnCA0] >>499 できないんだよそれ。出来たらいいなとは思う。
501 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/14(火) 17:59:57 ID:5RpU6d3N0] >>499 以前それがやりたくてここで質問したものです AUTHOTKEYのウィンドウならこれで出来ました >>391-393 通常のウィンドウは。。無理なんだろな。。
502 名前:499 mailto:sage [2006/02/14(火) 20:23:21 ID:RVF5Wq5S0] >>500-501 なるほど… AutoHotkeyの仕様なのかOSの仕様なのか知らないけど、ちと残念。 透明になっても良いんだけど、クリックが素通りしてしまうと不便なんだよなぁ。
503 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/15(水) 00:05:58 ID:9Es2AScX0] もっとメニュー作成機能を強化して欲しいかも。 ・アイコン表示 ・1行だけならサブルーチン化しなくてもMenuコマンドにそのまま記述可 ・メニューの複数列表示 ・オーナードローメニュー オーナードローメニューは面倒だと思うけど上3つはできると良いな。
504 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/15(水) 08:41:57 ID:SX93VEbb0] Win起動したときにAutoHotkey.iniが勝手に開くようになったんだけどなんでだろう?
505 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/15(水) 14:42:20 ID:4hb2BCE90] >>504 スタートアップにショートカットじゃなくて実体を入れた罠?
506 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/15(水) 14:45:57 ID:l6zgqL1t0] いや、INI本体のショートカットを入れたんだろう INIだからメモ調かなんかで開くわな。
507 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/15(水) 17:24:49 ID:ve0MRSui0] Winnyで広がるahkウィルスとか書いたら楽しそうだな。 インストールベースが少ないからあんま広がらないか。
508 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/15(水) 20:06:31 ID:JUqdYKTh0] ahkより素直にjsやvbsで書いた方が広まるジャマイカ
509 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/15(水) 20:18:50 ID:SX93VEbb0] >>506 正解。 なぜかスタートアップにiniのショートカットが入ってた。 入れた覚えないのにってかしばらくAHKいじってないのに。 不気味。
510 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/16(木) 13:26:06 ID:h5aXoB5n0] 同一キー定義をアクティブ窓ごとに別々で書けるようになったみたいね(まだ試してない) www.autohotkey.com/docs/commands/_IfWinActive.htm#variant これでいちいちキー定義のほうで条件分岐しなくてもよくなるかな 今まではアクティブ窓を追いかけ続ける無限loop回してやりくりしてたけど
511 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/16(木) 13:58:21 ID:EqR0wQoB0] 登録も管理も面倒だったけど、これでだいぶよくなった
512 名前:名無しさん@お腹いっぱい。 [2006/02/16(木) 14:24:10 ID:nqNAQta60] 便利になったとは思うけどホットキーなら ループで監視しなくても押された瞬間だけ判定すればいのでは
513 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/16(木) 14:37:33 ID:RHJx/nzR0] >>510 >無限loop アクティブウィンドウ監視して変わるたびに Hotkeyコマンド使って切り替えみたいな感じ?
514 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/16(木) 14:39:38 ID:JGq1Z4Yk0] ほっとけい
515 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/18(土) 10:17:30 ID:WrtMVw3N0] 覚えらんない人のためのオンラインソフト備忘録 でこのソフトの 事が取り上げられてて興味が沸いたので、勢いこちらのスレに来てみたら。。。 >>1 はいったい何なんですか!?さっぱりわかりません! それともスレ立て主は外人ですか?誰か僕にわかるように説明してくさい!
516 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/18(土) 11:14:12 ID:KVqPeB680] (´・ω・`)知らんがな
517 名前:名無しさん@お腹いっぱい。 [2006/02/18(土) 21:53:53 ID:JQ9unHlx0] なまずの人ってここも見てるよね 2バイト文字対策の使わせてもらいました どうもです
518 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/18(土) 22:01:48 ID:wweffrMN0] アレの使い方がまだ分かんにゃい…
519 名前:名無しさん@お腹いっぱい。 [2006/02/18(土) 22:01:56 ID:JQ9unHlx0] あとせっかく作ったから晒しとく。動けばいいって感じで作ってるから美しくないけど。 ディレクトリをドロップしたら中のファイルを一つ上の階層にコピーしてディレクトリを消すスクリプト if 1 = { msgbox,ディレクトリをドロップしたら中のファイルを一つ上の階層にコピーしてディレクトリを消します`n何か残ったらディレクトリを消しません exitapp } MsgBox , 4355,,移動するファイルに同名のファイルが存在した場合上書きしますか? IfMsgBox, Cancel, exitapp IfMsgBox, yes, SetEnv, oflg , 1 IfMsgBox, no, SetEnv, oflg , 0 Loop , %0% { src:=%A_Index% FileGetAttrib, att , %src% if att<>D Continue MBS_SplitPath( src , outFileName1, outDir1, outExtension1, outNameNoExt1, outDrive1 ) FileDelete, %src%\Thumbs.db if outDir1 = %OutDrive1% FileMove, %src%, %outDir1%\ , %oflg% else FileMove, %src%, %outDir1% , %oflg% Loop, %src%\* , 2 { MBS_SplitPath( A_LoopFileFullPath , outFileName2, outDir2, outExtension2, outNameNoExt2, outDrive2 ) FileMoveDir,%A_LoopFileFullPath% ,%outDir1%\%outFileName2% ,%oflg% FileRemoveDir, %A_LoopFileFullPath% } FileRemoveDir, %src% } exitapp
520 名前:名無しさん@お腹いっぱい。 [2006/02/18(土) 22:04:14 ID:JQ9unHlx0] >>518 俺もIMEのは謎だ
521 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/18(土) 23:17:16 ID:Iuqt5cXz0] 全角→半角関数使わせてもらってます。 ヤフオクなんかで、全角で書かれた口座番号をコピペするのが格段に楽になりました。
522 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/20(月) 15:30:05 ID:bHvHlGfQ0] 単純な#define部分だけで良いから、自動でWINUSER.H等をインクルードして欲しいなぁ。 一々メッセージを使うときにコメントでメモ書きするのめんどい。
523 名前:名無しさん@お腹いっぱい。 [2006/02/22(水) 00:15:57 ID:JEPVrHVd0] あるAppのウインドウをWindowSpyで調べたところ、どのウインドウでもWindow Title & Classが すべて同じ値を返す場合、他の方法でウインドウをマッチさせる方法はありますか?
524 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/22(水) 00:19:51 ID:gmGHCXSw0] はい
525 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/23(木) 02:28:24 ID:b2eEMwCj0] 質問です。 AutoHotKeyはイベントに対して処理をするということは可能でしょうか。 具体的には 「あるウインドウが閉じられようとしたら、閉じる代わりに非表示にする」 という動作をするようにしたいのですが。
526 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/23(木) 11:31:49 ID:jHCXuL6/0] ポチエスに複数ファイルを送るとショートファイルネームで処理されちゃうんだけど これをAHK内でロングファイルネームに戻したいと思ったんだが、 なんかそれっぽい記述がリファレンスに見当たらない なんかいい方法ない???
527 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/23(木) 12:43:38 ID:Mi3jCVds0] >>526 %A_LoopFileName%
528 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/23(木) 15:24:00 ID:OafhHQu10] >>527 引数でやってきたものを処理したいんだけどできるかな。 しばらく考えたが思いつかない (1)ぽちエスからショートファイルネームが複数やってくる (2)それをロングに変換してファイルに書き出す みたいな感じなんだけど。
529 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/23(木) 15:36:32 ID:Mi3jCVds0] >>528 Loop, %0% { i := %A_Index% Loop, %i% { MsgBox, %i%`n%A_LoopFileName%`n%A_LoopFileFullPath%`n%A_LoopFileLongPath%`n%A_LoopFileDir% } }
530 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/23(木) 15:40:51 ID:OafhHQu10] すげ、できた!! ファイル名でLoopなんて出来るのか。 サンクス!!!!!
531 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/24(金) 14:00:22 ID:PyEBwfs70] 流行らせるページの管理人の日記がすごい TrayCommandもどきに感動 ついでにTrayExpandもどきも作ってくれないかとずうずうしい要望をしてみる
532 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/24(金) 18:39:48 ID:LMN2OTD20] Alt+Tab代価するようなスクリプトつくってほしいな
533 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/24(金) 21:52:20 ID:7qRRIOKj0] AltTabコマンドじゃだめなの?
534 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/25(土) 00:57:19 ID:HuCPqrC00] 流行らせるページに一つあった
535 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/25(土) 02:19:14 ID:TlCaEqJP0] #IfWinActive, AutoHotkey.ini ahk_class Hidemaru32Class ^s:: Send, ^s sleep, 1000 Reload return リロードが面倒くさいのでAutoHotkey.ini編集中に上書き保存したらリロードするってのを考えた 一応sleep入れてみたんだけどこのsleepっているのかな?
536 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/25(土) 06:04:04 ID:WlTtzrS/0] すみません、こちらの皆さんには初歩的すぎるかもしれませんが、 マウスのボタンを押している間、 100mm秒間隔でクリックを連打 させるスクリプトはどう書けばいいのでしょうか?
537 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/25(土) 08:53:08 ID:6LCnKr020] >>535 入れといたほうがよろし
538 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/25(土) 08:57:33 ID:9NjRh94x0] >>535 1000msが妥当かは環境によるので何とも言えんが、ディレイは入れるべきだろうね 好きずきだけど、エディタ側にマクロ機能があるならそっちでやったほうが 無駄な待ち時間も発生しないし安全ではあるな。 自分は秀丸側のマクロでやらせてる
539 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/25(土) 10:02:04 ID:6LCnKr020] >>535 使ってるエディタが秀丸だったのか。 んじゃ、マクロの方がいいね。
540 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/25(土) 10:30:39 ID:HuCPqrC00] 更新日時見れば
541 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/25(土) 12:44:23 ID:WlTtzrS/0] loopを使えばいいの?どうやって止めるの?
542 名前:531 mailto:sage [2006/02/25(土) 12:53:27 ID:Rs6mXlji0] すごい! たとえ私の要望から作ったのではないとしても本当にありがとうございます!
543 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/25(土) 13:02:37 ID:CnEGJgUv0] あんまりクリックしすぎると モニターに穴があくからやめたほうがいいよ。 漏れのディスプレイ、内部配線見えまくりだし
544 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/25(土) 13:06:05 ID:9NjRh94x0] break >マウスのボタンを押している間、100mm秒間隔でクリックを連打 トリガはホイールクリックに割り当てるとか、別のキーでやるつもりなら大丈夫だが 左ボタン押下中に、左クリ連打とかって割り当ててしまうとどえらいことになるぞ あんまり分かってなさそうなので一応忠告しとく
545 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/25(土) 17:06:34 ID:veunGidG0] 2段階キーマップをやりたくてテストコードを書いてみたのですが わからないことがあるので教えてください。 fx -> f fs -> s ff -> k を意図して書いたのですが ff -> k が上手くいかないんです。 新しいスレッドが生成されるせいかと思うのですが 上手くやる方法ありますか? ちなみにコードはこれです。厨房質問ですいません。 f:: { Input,InputChar,C I L1 ,{Esc},x,s,f if ErrorLevel=Match { if InputChar=x send, f if InputChar=s Send, s if inputchar=f send, k } return }
546 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/25(土) 17:11:40 ID:HuCPqrC00] :*:fx::f :*:fs::s :*:ff::k Hotstringでこうやれば?
547 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/25(土) 18:15:37 ID:veunGidG0] >>546 レスありがとうございます。 試してみます。
548 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/25(土) 18:26:07 ID:WlTtzrS/0] さっぱりわかりません。 Mbutton:: Count = 1 loop { if Count > 20 break if Count < 19 sleep,50 send {Lbutton} Count = %Count% + 1 } return Lbutton up:: Count = 20 return
549 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/25(土) 22:58:36 ID:9NjRh94x0] MouseClick または send, {Lbutton Down} send, {Lbutton Up}
550 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/25(土) 23:08:33 ID:Rs6mXlji0] MButton:: Loop { GetKeyState,keyState,MButton,P If(keyState="D") { Send,{LButton} Sleep,100 } Else Break } return これでできると思う
551 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/26(日) 10:51:10 ID:oMn9Wnsa0] あんまりよそで迷惑かけちゃダメ!
552 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/26(日) 12:43:40 ID:pNeAqWnD0] TClockの「タスクスイッチにアイコンのみ表示」「平らなトレイ」「平らなタスクスイッチ」「スタートボタンを隠す」 の機能をAHKで実現したいと考えています。 ttp://homepage1.nifty.com/kazubon/progdoc/tclock/index.html ここを読んで「フックを使ってサブクラス化する」ということはわかったんですが、 AHKで可能なのでしょうか?
553 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/27(月) 00:03:04 ID:l9PFBXTs0] サブクラス化は時計に描画するときの奴じゃない? TB_SETSTYLEメッセージでTBSTYLE_FLATとかをセットすれば行けるような気がする
554 名前:552 mailto:sage [2006/02/27(月) 00:49:18 ID:tOahKDvK0] >>553 SendMessage,0x438,0,0x800,ToolbarWindow322,ahk_class Shell_TrayWnd ;0x438:TB_SETSTYLE 0x800:TBSTYLE_FLAT こんな感じでしょうか? OSはXPです。やってもらえるとわかるんですが、フラットに一応なりますがちょっとおかしいです。 あくまでTClockのようなものを目指しています。 それと、>>552 にの中では「タスクスイッチにアイコンのみ表示」が自分には一番重要なんですが これもメッセージだけでいけるんでしょうか?
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で組み込むって言うのは間違った使い方なんでしょうか。
656 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/26(日) 01:53:48 ID:b3Nu7QpN0] >655 とりあえずInlineCalc.ahkに関しては引数が重複してなければAuto-executeセクション外に インクルードすれば使えるかもしれないけど、インクルードした後の動作を予測することなしに よそから拾ってきたスクリプトを次々とインクルードして使うのはおすすめしません。
657 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/26(日) 02:04:38 ID:pjcfpT8Y0] >>656 そうですか。わかりました。 拾ってきたスクリプト解析して、自力で組み込めるよう努力します。
658 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/28(火) 18:01:18 ID:p3mE1UoC0] *z::f でzをfキーへ入れ替えが出来る事がわかったけど これを瞬時に元に戻したり又入れ替えた状態にするには? ALT+1でデフォルトのキー配列、ALT+2でキー入れ替えた配列にしたいです
659 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/28(火) 19:15:37 ID:aI6rP75+0] HotkeyコマンドでONとOFFを切り替えらられるよ
660 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/28(火) 19:44:21 ID:n+gx7BbI0] 読み出したスクリプトに!1::ExitAppを加える事で解決出来ました。また質問ですが MButton::3でホイールボタンを3、SHIFT押しながらホイールボタンを4に割り当てたいのですが SHIT押しながらホイールボタン押すとSHIT+3となり#が入力されてしまいます どの様な記述になるのでしょうか
661 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/28(火) 22:03:17 ID:5UHM2kOF0] >>660 もうちょい本家ヘルプなり流行らせるページなりを読んだ方が良いと思う。
662 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/28(火) 22:09:38 ID:2DzjvSSI0] 一部vbsを使い、Autohotkeyで以下のようなサウンドプレイヤーの作成に挑戦してみました。 1.選択ファイルのパスをコピーして 2.そのパスをvbsに渡して、GetDetailsOfで曲の長さを取得 3.テキストファイルにファイルのパスと曲の長さを書きだして、プレイリスト作成 4.AHKでプレイリスト読み込んで、「SetTimer,再生実行サブ,曲の長さ」でリストのファイルを連続再生 5.変数に演奏中のトラックナンバーを保存し、ホットキーで曲の移動も可 という感じで作りましたが、見てわかるとおりソースがスマートじゃありません(動作は期待通りのモノですが)。 AHKでやるのが間違っているというのは十分わかっているんですが、そこにこだわりたいんです。 軽いし。 何かスマートになるアドバイス合ったらお願いします。 2,3がvbsなので、このへんをAHKでできればいいんですが。
663 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/30(木) 11:37:20 ID:+DAoRlgo0] >>661 色々試したんだけど結局できません とりあえずkeylay21で凌いでますがkeylay入れてあるとマウスドライバが書き換えられる みたいでなんかいまいち 4000円も出すんじゃなかったと LCtrl::LShift LShift::LCtrl MButton::3 ^MButton::4 SHITとCTRLを入れ替えてある状態で、CTRL(指はシフトキー)押しながらホイールボタンで4を 入力させたいのですがAHKじゃ無理なのでしょうか? 出来るか出来ないかだけでも教えてくださいorz 出来るのであればもう少しカンバッテみます
664 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/30(木) 13:24:47 ID:MvBpnK9rP] 終了時にウィルススキャンしてから終わるってできますか?
665 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/30(木) 15:46:07 ID:DTOCa6Mj0] >>664 lukewarm.s101.xrea.com/commands/OnExit.htm
666 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/30(木) 17:11:11 ID:MvBpnK9rP] これでシャットダウン時にウィルススキャンをしてから終了ってできるのですか?
667 名前:名無しさん@お腹いっぱい。 [2006/03/30(木) 18:23:58 ID:F2a/hdHF0] 自分で努力しないと出来ません
668 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/30(木) 22:12:23 ID:MvBpnK9rP] なるほど。 足りなかったのは努力なんですね。 ありがとうございますた。
669 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/31(金) 02:40:28 ID:/UqiJYW50] 子ウィンドのハンドルがうまく取得できないのは仕様? MouseGetPosでマウス下の領域のウィンドハンドル取得しようとしても、ウィンド全体のが帰ってくる
670 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/31(金) 10:32:28 ID:3DbFmw7g0] MDIの子ウィンドウはウィンドウハンドルとしては取れない。 MouseGetPos, X, Y, Win, Control ,1 で、コントロールとしては取得可能 あくまでハンドルとして取りたい場合は↓の getMousePosWindowEx() あたりを参照 d.hatena.ne.jp/eamat/20050827/1125092895
671 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/31(金) 17:46:40 ID:GXqhKwVq0] >>660 MButton::Send, 3 +MButton::Send, 4 >>663 ;****** Script01.ahk ****** OnExit, ExitSub Run, C:\Program Files\AutoHotkey\Autohotkey Script02.ahk,,,PID esc::exitapp LCtrl::LShift LShift::LCtrl ExitSub: DetectHiddenWindows On PostMessage, 0x5555,,,,ahk_pid %pid% Exitapp ;****** Script02.ahk ****** OnMessage(0x5555, "MsgMonitor") MButton::Send, 3 ^MButton::Send, 4 MsgMonitor(){ Exitapp } 同一プロセスだとうまく動かないので2つのスクリプトに分けた。 Script01を実行すればScript02が立ち上がって、Script01が終了すればScript02も終了する。 うちでは一応それなりに動作しているように見えるけど、うまくいかなかったらごめん。 (ところで、秀丸エディタって修飾キー絡むとうまくうごかないのね・・・ 秀丸上で試してたからうまく動かないので悩んだ。)
672 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/03(月) 21:26:55 ID:Am8bhY3i0] >>671 様ありがとうございます! 何がなにややらな状態ですがとりあえず動いてます こんなきっかけが欲しかった所です このスクリプト一行一行勉強してみます
673 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/05(水) 18:18:18 ID:+pF9h+il0] >>662 そういうこだわり好きだぜ。 FileSelectFile, SelectedFiles, M3, ,Open, Media Files (*.mp3;*.wav) Loop, parse, SelectedFiles, `n { if(A_Index = 1){ CurrentDir=%A_LoopField%. }else{ SoundPlay, %CurrentDir%\%A_LoopField%, wait } } exitapp #down::SoundPlay, NULL ;存在しないファイルを指定。(たったこれだけのことを思いつくのにどれだけ掛かったことか・・) win+↓キーで次の曲に飛ぶ。応用すれば自由に移動可能ではないかと。 色々試して無理だコリャとか思っていたら、あっけないほど簡単な解決策だったりする罠。 頭が固くなってきてるなぁ・・orz しっかし、たったこれだけで簡易メディアプレイヤーが出来てしまうなんてスゴス。
674 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/05(水) 22:18:22 ID:plvj6RC00] ぬる℃家さんのHPの移転先どこ?
675 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/06(木) 04:56:20 ID:F1AUl6YU0] 避難所じゃない?
676 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/06(木) 12:14:18 ID:GSZU7GaA0] >>673 662です。すばらしい。非常に参考になります。 プレイリストをGui表示したりすれば、かなりまともなメディアプレーヤーになりそうですね。 にしても、言われてみれば簡単だ。俺も頭固いな…。
677 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/06(木) 12:29:38 ID:V0dMBBJV0] 単純にファイル渡しでもファイラーから フォーカスを奪わずに試聴できるね
678 名前:674 mailto:sage [2006/04/06(木) 21:38:00 ID:7OM6hwZV0] >>675 thx
679 名前:673 mailto:sage [2006/04/07(金) 16:28:37 ID:oc5/fhnE0] SoundPlayで長い曲再生すると戻ってこなくなる? >>673 のスクリプトでアルバムを聞いてて気付いたんだけど、 なぜか、最後まで再生し終わってスクリプトが固まった。 よく考えてみたら最後の曲だけ長くて8分あるので 試しに別の7分ちょいの曲と6分ぐらいの曲を連続で再生してみたら、7分の曲再生し終わった時点で固まって 次の曲再生されなかった。 うちだけ?
680 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/07(金) 16:46:09 ID:rSUBoxot0] 試してみようと長めの曲投げてみたら再生しなかったな VBRとかもあんのかな。
681 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/07(金) 23:26:51 ID:EWcuZxfA0] 30分のネトラジ(wma)投げたけど、問題なかったな とりあえず最初に依頼したので、完成品を貼っておきます #p:: ;選択したファイルでプレイリスト作成&再生 OverWrite = True ;上書き StopFlag = Flase Gosub,MakePlaylist TrackNumber=1 GoSub,Player Return !#p:: ;選択したファイルをプレイリストに追加&再生 OverWrite = False ;追加 StopFlag = False Gosub,MakePlaylist GoSub,Player Return #PgDn:: ;次の曲再生 SoundPlay, NULL Return #PgUp:: ;前の曲再生 TrackNumber-- TrackNumber-- SoundPlay, NULL Return #End:: ;再生を停止 StopFlag = True SoundPlay, NULL return
682 名前:続き2/3 mailto:sage [2006/04/07(金) 23:27:54 ID:EWcuZxfA0] MakePlaylist: ClipSaved := ClipboardAll ;クリップボードの中身を一時待避 Clipboard = ;とりあえずクリップボードを空にして Send, ^c ;Ctrl+C ClipWait,1 ;クリップボードが読み取れるようになるのを待つ(最大1秒) i = 1 Loop, Parse, Clipboard , `n, `r ;クリップボード内のものを改行区切りに分解して { SplitPath, A_LoopField , FileName , Dir , Extension ,, Drive ;パスかどうか判定 StringLen, length, drive ;ドライブ文字の長さを見て ifEqual, length, 0, continue ;パスっぽくなかったらやめる if ( Extension != "mp3" && Extension != "wav" && Extension != "wma" && Extension != "ogg" ) ;拡張子が音楽ファイルじゃないならやめる continue if i = 1 ;テキストファイルにファイルのパスを書き込み OutputText = %A_LoopField% else OutputText = %OutputText%`n%A_LoopField% i++ } If OverWrite = True FileDelete , %CurrentDir%\Playlist.txt FileAppend , %OutputText%, %CurrentDir%\Playlist.txt Clipboard = %ClipSaved% Return
683 名前:最後3/3 mailto:sage [2006/04/07(金) 23:28:46 ID:EWcuZxfA0] Player: Loop { FileReadLine, OutputVar, %CurrentDir%\playlist.txt, %TrackNumber% If ErrorLevel = 1 ;リストの最後まで行ったら { TrackNumber = 1 ;最初に戻る FileReadLine, OutputVar, %CurrentDir%\playlist.txt, %TrackNumber% } SplitPath, OutputVar , FileName ToolTip, %TrackNumber% - %FileName% ;再生するファイルをツールチップ表示 SetTimer, RemoveToolTip, 1000 Soundplay,%OutputVar% , wait IfEqual,StopFlag,True,Break ;ループ抜ける TrackNumber++ } return RemoveToolTip: ;ツールチップ削除 SetTimer, RemoveToolTip, Off ToolTip return
684 名前:673 mailto:sage [2006/04/08(土) 05:37:18 ID:EzpMT1rj0] >>681 気軽に再生出来てなかなかいいっすねこれ。なんつっても軽いし。 ところで、長い曲(が原因か判らないけど)で固まる問題ですけど、>>681-683 のスクリプトでもやっぱり再現した・・・ MCI内部で呼んでるみたいなんで試しにMCI直で呼んでみたけど、やっぱり同じ状態になったので、 MCI自体の問題なのかも。 >>680 VBRって言われてみれば確かにVBRのファイルなんですよねこれ。 VBRで長いmp3だとおかしくなるのかな? 検証するのに何度も同じ曲聞かなきゃなんないから疲れるょ・・ AHKが悪い訳じゃないことが解っただけでも良かったけど・・
685 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/08(土) 12:30:36 ID:Co4Tuedv0] WでRClick, AでCtrl+RClick, DでAlt+RClickをやりたいんですが 下のコードだとDを押してDを離してもRClickは解除されるもののAltが押しっぱなしの状態になってしまいます。 どうすればいいんでしょうか? w:: Send,{RButton Down} return w up:: Send,{RButton Up} return a:: Send,{Ctrl Down} Send,{RButton Down} return a up:: Send,{RButton Up} Send,{Ctrl Up} return d:: Send,{Alt Down} Send,{RButton Down} return d up:: Send,{RButton Up} Send,{Alt Up} return
686 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/08(土) 20:49:49 ID:1SgxTDCT0] 流行らせるページにある「システムモニタ用関数群」を有難く使わせてもらっています。 これでだいたい取得したい情報は得られたのですが、 CPUの周波数だけまだ解決せず。 非常に厚かましいのですが どなたか作っていただけないでしょうか?
687 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/09(日) 15:27:27 ID:vc/jqxTR0] 流行らせるページが見られない
688 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/09(日) 16:14:16 ID:fCMts/FM0] ほんとだwww.xrea.comじたいが見れなくなってる。
689 名前:673 mailto:sage [2006/04/10(月) 04:43:55 ID:kIM2G0lg0] MCI使用したプレイヤー(HSP製)DLして問題のあるファイルを再生してみたら、 時間表示はおかしいけど、固まることなくちゃんと連続再生された。 試しにVC++でMCI使って再生するコード書いてみたら やっぱり固まることなく連続再生できたし・・。 AHKでmciSendString直に呼んで色々試したところでは、 どうも再生は正常に終わっているけど、デバイスが閉じられくなるみたい、 問題のファイル再生終了後にclose投げるとそのまま制御が戻ってこなくなることが解った。 SoundPlayでも同じようなことが起きてるのかも。 とりあえず、AHKでSoundPlayコマンド(MCI関連)を扱うと VBRのmp3で問題が起きる可能性があるということでFA。 マンドクセシ モーイイヤ・・('A`)
690 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/10(月) 06:02:52 ID:WS1IiKh80] 乙 madとか123とかをHideで使っちゃうというほうがいいのかね DLLならBassとか
691 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/10(月) 06:32:16 ID:gsoxib5w0] >>687-688 ttp://www.value-domain.com/info.php?action=press&no=20060408-1
692 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/14(金) 00:58:50 ID:Ud8vzZeZ0] クリップボードの内容を一時的にする場合に、 TempClipboard:=ClipboardAll Clipboard= ;適当に処理して Clipboard:=TempClipboard ;元に戻す としたとき、元々クリップボードの中にテキストや画像データが入ってる分には問題ないのですが、 パスやURLがショートカット形式(ファイルをコピーしたときや、ネットのリンクを右クリ→ショートカットのコピーしたとき) になぜかクリップボードが復元されません。 この辺は仕様でしょうか。
693 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/14(金) 00:59:53 ID:Ud8vzZeZ0] 一行目 一時的にする→一時的に退避する 失礼
694 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/14(金) 01:25:59 ID:94xmBBMO0] MsgBox, %ClipBoard% をいろんな個所に挟んで中身を確かめながら実験すると良いかも。
695 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/14(金) 09:14:35 ID:UFI/YkYK0] >>692 FileAppendでファイルに落としてバイナリみると解るけど、復元出来ないんじゃなくて、 ClipboardAllコマンドでクリップボードを正常に参照出来てないと観た方が良さそう。 つまり、変数やファイルにクリップボード内のデータを待避する時点でデータがすでにおかくなっている。 でもClipboardコマンドだととれているから仕様と言うよりもClipboardAllコマンドのバグじゃないかなぁ? 仕様だったら普通最低でもClipboardコマンドと同じテキストデータがとれるようにすると思うんだよね。
696 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/16(日) 09:51:06 ID:Kql6t2Dr0] 初歩的な質問していいですか。 EDITコマンドで*.ahkスクリプを好きなエディタで開けません。(notepadで開く) *.iniだとちゃんと秀丸で開くのに・・・ *.ahkも*.iniもシェル関連付けはされています どうすれば*.ahkも秀丸で開けますか?
697 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/16(日) 10:24:38 ID:AQ9bKtsX0] ダブルクオーテーションを外して試してみて 漏れはそれで上手く行ったことがある。 何故か c:\hogehoge\hoge.ahkをエディットしようとすると c:\hogehoge\hoge.ah っていうパスが送られちゃって悩んでたんだが。
698 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/16(日) 10:54:34 ID:Kql6t2Dr0] >>697 ありがとうございます。でもダメですOTZ スクリプト自体はうまく動作しているようですが・・・。 インストーラなしのzipファイルでインストールしたのがまずいのかな。 ヘルプの ”関連付けで「Edit」コマンドが設定されていれば、そのコマンドで開く。なければ、notepad.exeで開く。” というのがイマイチ分かりません。AHKで開くエディタを指定できるんでしょうか。
699 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/16(日) 11:18:46 ID:87jJ7KHW0] 俺の場合は「Edit Script」に設定したらできた。
700 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/16(日) 11:42:05 ID:Kql6t2Dr0] >>699 レスサンクスです 皆さんは問題なく出来てるようですね。やっぱり俺だけですね・・ とりあえず・・・Run,〜\Hidemaru.exe 〜\AutoHotkey.ahk で開いてます。全然スマートじゃないなw
701 名前:名無しさん@お腹いっぱい。 [2006/04/16(日) 17:45:25 ID:IfQvUwVz0] >>700 AHKファイルの関連付けを、ちゃんとしてる? フォルダオプション > ファイルタイプ > AHK を選択 "拡張子AHKの詳細"項目内の詳細設定ボタンを押す。 アクションのEditを選択して編集ボタンを押す。 そこで自分の好きなエディタを指定する。 "関連付けで「Edit」コマンドが設定されていれば、そのコマンドで開く"というのはこの設定のことを言ってる。
702 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/16(日) 17:48:41 ID:4CFKB+jz0] デフォルト項目じゃなくてコンテクストメニューの「Edit」項目を変えてやらないといかんよ レジストリの↓の値ね HKEY_CLASSES_ROOT\AutoHotkeyScript\Shell\Edit\Command たぶん前スレでも貼ったような気がするが、UIで対話的にエディタ変更してみるahk。 RegRead, OldData, HKCR, AutoHotkeyScript\Shell\Edit\Command MsgBox,36,AutoHotkey Scriot Editor Changer,現在ahkのEditに設定されている値`n`n %OldData% `n`n別のエディタを指定しますか? IfMsgBox,No, ExitApp SplitPath,OldData,,EditorDir FileSelectFile,MyEditor,3,%EditorDir%,ahkを編集するエディタを選択,*.exe IfNotExist, %MyEditor%, ExitApp RegWrite, REG_SZ, HKCR, AutoHotkeyScript\Shell\Edit\Command,,%MyEditor% `%1 RegRead, NewData, HKCR, AutoHotkeyScript\Shell\Edit\Command MsgBox,64,AutoHotkey Scriot Editor Changer, %OldData% を`n`n%NewData% `n`n へ変更しました。
703 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/16(日) 20:15:21 ID:Kql6t2Dr0] >>701 >>702 丁寧にホントにありがとう!遂にできましたよ。 Helpの意味がようやく分かりました
704 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/21(金) 18:58:48 ID:6cXk1jHT0] Ctrl+Vでペーストできないソフトにクリップボードの内容を送るにはどうしたらよいのでしょうか? 試したのは↓なんですが、当然できませんでしたw Send, clipboard クリップボードと同じ内容のテキストのキーストロークを発生させればいいと思うんですが・・ どなたかご教授下さい
705 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/21(金) 19:38:49 ID:IoLpMntm0] 一生そこで止まっててください。
706 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/21(金) 21:55:03 ID:6cXk1jHT0] 残念ながら出来ましたよwスマソw
707 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/22(土) 21:15:53 ID:EvYvrKQ80] AutoHotkeyでネットワークプログラムを作るにはどうすればいいですか? DLLの関数を呼び出すんであろうということは分かるのですが具体的なやり方が分かりません。
708 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/22(土) 21:39:51 ID:KJrxOsM90] 何がしたいのよ
709 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/24(月) 22:48:18 ID:+AskqZAV0] mayuから乗り換えたいのですが、 Space押しながら別のキーを押すとShift扱い Spaceをすぐに離したらSpace で、できればSpaceを押して一定時間経過後に離すときは無効 みたいなことってできますか?
710 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/24(月) 23:06:32 ID:gA3K0rDg0] >>709 AutoHotkeyを流行らせるアップローダの029.zip 一定時間経過後に〜の方も少し弄ればできる。
711 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/24(月) 23:19:44 ID:+AskqZAV0] >>710 ありがとうございます! SandSって言うんですね! ちょっと弄ってみます!
712 名前:名無しさん@お腹いっぱい。 [2006/04/29(土) 18:55:41 ID:58FQTls70] zキーを押してる間zキーを10秒毎に2秒間押す、といったコマンドがやりたいのですが どなたかご存知ありませんか?
713 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/29(土) 19:57:56 ID:1hoqMcVM0] タイマ、スリープ どんな方法でも実現できるじゃん
714 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/29(土) 22:47:12 ID:ujA9YEAp0] キーボードでボリュームを操作する方法を探していて >>71 に書かれて内容を試してみましたが タスクバーにAutoHotkey.iniと表示されるだけで、GUIが表示されません 助言お願いします
715 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/29(土) 22:53:23 ID:8YehHyKS0] なまず日記(>>7 )行って完成品拾ってきたら?
716 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/30(日) 11:04:10 ID:ritjdH350] >>715 ありがとうございます 勉強になりました 調べた末 SoundGet,volume,MASTER SetFormat, float, 5.2 volume += 0 ToolTip,%volume%,800,700, を使うことにしました
717 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/30(日) 11:11:44 ID:ritjdH350] 試作中のやつ貼ってしまった orz volume += 0要らないです
718 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/03(水) 10:42:28 ID:SO1f2yaW0] 1.0.43.11 - May 1, 2006 Fixed %A_WorkingDir% on Windows 9x, which was sometimes blank. [thanks Points] Improved BlockInput with a new mode that blocks only physical movement of the mouse, not keystrokes or mouse clicks.
719 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/12(金) 21:25:33 ID:aSuNSZC/0] BREGEXP.ahk、便利なんだけども、良く分からないことがいくつかあります。 list = aaaaxxxxaaaa|bbbxxx|xxxxcccc Loop, Parse, list, | { test := RegExpReplace(A_LoopField, "x*", "", "") MsgBox, %test% } とかやると、前回のデータが残ってしまうんですが…。 皆様どうやって対処してるんでしょうか?
720 名前:719 mailto:sage [2006/05/12(金) 21:32:58 ID:aSuNSZC/0] 連稿すみません。途中で投稿してしまいました。 orz test := RegExpReplace(tmp, "[ \t]*`;[ \t]*$", "", "") みたいな正規表現もうまく行かなかったり。 $が効かない(?)感じがします。 解決案もってましたらどなたかご教授ください。
721 名前:719 mailto:sage [2006/05/15(月) 14:14:36 ID:I+/Q9YXe0] 自己解決しました。 前回のデータが残ってしまうのは、 BREGEXP.AHKの return result の部分を、 test:=result VarSetCapacity(result,64) return test のように変更することで解決しました。 $が効かないのはオプションにgを入れてないからでした。
722 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/17(水) 10:12:27 ID:A1Pap8lZ0] Guiにツリービューとステータスバーが追加されたね。 とても使いこなす余裕ないけど。 今月号のPCJapanで特集記事が載ってるけど あれ読んで入門しようと思う人どんくらい居るかなあ… ttp://www.sbcr.jp/pcjapan/download/art.asp?newsid=126
723 名前:名無しさん@お腹いっぱい。 [2006/05/18(木) 16:34:36 ID:CPxUZBn80] AutoHotKeyのスレあったんですか。 前スレ>>848 さんを参考にスクリプトを書いてみたのですが 右ダブルクリック時処理が実行された後に右シングルクリック時処理も実行されてしまいます。 これを回避するにはどうしたらいいのでしょう?例えば・・・ 848 :名無しさん@お腹いっぱい。:2005/09/26(月) 20:54:01 ID:Owez+5cA0 >>847 Rbutton Up:: ;システムのダブルクリック時間取得 WClickTime := DllCall("User32.dll\GetDoubleClickTime",Int) if (A_PriorHotkey = A_ThisHotkey) && (A_TimeSincePriorHotkey < WClickTime) { ;ダブルクリック時処理(例:Run explorer.exe) } else { ;シングルクリック時処理(例:Run notepad.exe) } return とすると シングルクリック→notepad.exeは正しいのですが ダブルクリック→explorer.exeだけでなくnotepad.exeも実行されてしまうのを回避したいのです どなたかお願いします
724 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/18(木) 16:57:39 ID:LJaz32dZ0] >>723 自分だったらこんな感じでやってる。これだとトリプルクリック、クワドロプルクリックへの対応も大した手間無くできるし。 一々システムからダブルクリック時間を取得するのもあれなので決め打ちで書いてる。 RButton:: KeyWait, %A_ThisHotkey%, T0.2 If ErrorLevel = 0 { KeyWait, %A_ThisHotkey%, D T0.2 If ErrorLevel = 0 { KeyWait, %A_ThisHotkey% Run, explorer.exe return } Run, notepad.exe return } return
725 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/18(木) 17:35:59 ID:CPxUZBn80] >>724 ありがとうございます。いろんなアプローチがあるんだなぁ・・すごいですね。 なんだかもうチンプンカンプンです><
726 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/18(木) 18:15:07 ID:CPxUZBn80] >>724 ちなみにトリプルクリックの場合どうやるんでしょうか?(自分が試した奴ですが・・↓) 本当に馬鹿で・・・すみませんw RButton:: KeyWait, %A_ThisHotkey%, T0.2 If ErrorLevel = 0 { KeyWait, %A_ThisHotkey%, D T0.2 If ErrorLevel = 0 { KeyWait, %A_ThisHotkey%, D T0.2 If ErrorLevel = 0 { KeyWait, %A_ThisHotkey% Run, explorer.exe return } Run, notepad.exe return } Run, calc.exe return } return
727 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/18(木) 18:24:34 ID:LJaz32dZ0] >>726 RButton:: ;1回目の押し下げ KeyWait, %A_ThisHotkey%, T0.2 ;1回目の押し上げ待ち If ErrorLevel = 0 { KeyWait, %A_ThisHotkey%, D T0.2 ;2回目の押し下げ待ち If ErrorLevel = 0 { KeyWait, %A_ThisHotkey%, T0.2 ;2回目の押し上げ待ち If ErrorLevel = 0 { KeyWait, %A_ThisHotkey%, D T0.2 ;3回目の押し下げ待ち If ErrorLevel = 0 { KeyWait, %A_ThisHotkey% ;3回目の押し上げ待ち Run, calc.exe ;トリプルクリック処理 return } } Run, explorer.exe ;ダブルクリック処理 return } Run, notepad.exe ;シングルクリック処理 return } return
728 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/18(木) 18:30:36 ID:CPxUZBn80] >>727 なんとお礼を言っていいのやら…。本当にありがとうございます(´Д⊂グスン
729 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/19(金) 02:40:46 ID:8luIfCKj0] 特定のボタンを押している間だけ、Dを押しつつキーマップの変更(q→a, a→z, etc)を行いたいのですが、 Hotstringを使ってやる場合、どのように記述すればいいんでしょうか どなたか教えていただけませんか
730 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/19(金) 07:48:57 ID:T9QwDw3o0] キーマップという言い方からすると繭使いか? 冗長になるけど、コンビネーションキーでいいんじゃねーの? [特定のボタン] & q::a [特定のボタン] & a::z
731 名前:名無しさん@お腹いっぱい。 [2006/05/19(金) 23:10:55 ID:NLL2TGQ40] 意味不明で大変場違いな事かもしれませんが・・・ たとえばゲームなどで必殺技のコマンドをマクロ化するスクリプトってどういう感じでしょう? 例としてはジョイスティックのボタンAを押すと昇竜拳が出るというような。。 先月からいじっているのですが、まったく突破法を発見できません(汗 どなたかお知恵を拝借していただけませんでしょうか?
732 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/19(金) 23:20:58 ID:K6ZDm6rW0] >731 ジョイスティック系のスレ行って それ用のソフト探した方が早そう。
733 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/20(土) 00:17:17 ID:th5H/M1p0] JoyToKeyかJoyAdapterだな。
734 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/20(土) 00:42:13 ID:L7AtsktK0] JoyToKeyは使ってるけど必殺技コマンドのマクロ化は無理っぽい。
735 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/21(日) 18:35:02 ID:UkQcXTMP0] Perl厨なのでPERLAHKで楽しく書かせてもらってます。 AHKのお手軽さとPerlのモジュール+正規表現が 合わさってちょっとすごい感じです。
736 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/21(日) 21:56:54 ID:hpntYaGp0] mayu でマウスいじれないので、 ahk でそのうちやろうやろうと思いつつも やり方がよくわからないんで放置してたんだけど、 昨日一晩調べてやっと使えるようになった。 サイドボタン+ホイールとか 右クリック+ホイールとか サイドボタン+右クリックとか、 いろんな組み合わせが使えるようになって かなりブラウザが使いやすくなったよ。
737 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/21(日) 22:37:38 ID:Uqwos4GY0] >>735 PERLAHKってなんですか? 検索してもいっこもヒットしません・・・
738 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/23(火) 00:47:31 ID:k9ZThJgs0] 複数のahkをひとまとめにコンパイルとか出来ちゃったり出来ないですか?
739 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/23(火) 22:08:10 ID:H/9gJ7En0] 関数の中でラベルを作ることは出来ないのでしょうか? ホットキー定義の中で SetTimer とかを使って サブルーチンを監視するような処理を、 ;;キー定義 F1::DoHoge() ;;関数 DoHoge(){ SetTimer,Hoge return Hoge: なんたら return } みたいにキー定義部分と関数定義で分割して書いて、 コードを読みやすくしたいのですが、うまくいきません。
740 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/23(火) 23:59:29 ID:HxMam4eq0] おいおい…なんつー強引なコード書いてんだよ そんなん全然読みやすくも何ともないから、素直にサブルーチン使え
741 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/24(水) 00:21:33 ID:4stag/k10] 読みやすくない、、、、つーか、そういうのバグの温床になるよ。
742 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/24(水) 04:09:11 ID:vGs8zZxc0] ホットカーペット? オンドル?
743 名前:739 mailto:sage [2006/05/24(水) 05:08:37 ID:UOl7EfWn0] なぜキー定義と関数を分割したいかというと、 #IfWindowActive でウインドウごとにキー割り当てを変えているときに、 同じ処理を何度も書くよりは一箇所にまとめたかったのです。 autohotkey の関数の意義がよくわかってなかったので おかしなことを書いてしまいました。すみません。 Gosub を使えばできそうです。
744 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/05(月) 20:29:13 ID:LsgHsIWT0] alt+WheelUp/Downでボリューム操作したいんですがどうやればいいですか? SendKey,{Volume_up/down}で一応できるんですが MSのユーティリティの機能で画面にメーターが出てきてしまうので 直接操作したいんですが。
745 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/05(月) 20:40:12 ID:LeRAOcxJ0] SoundGet SoundSet
746 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/06(火) 17:00:48 ID:bF08BH0f0] F6:: LoopFlag = 0 return F5:: if LoopFlag = 0 LoopFlag = 1 else LoopFlag = 0 loop { if LoopFlag = 0 break Send,{v} Sleep,1000 } return このスクリプトでF5を押すと一秒ごとにSend,{v}し、F6を押すと止まります。 ここまではいいんですが、ループ中に再度F5を押すと止めるようにしたつもりがうまくいきません。 F5を処理中に再度F5を実行する事は出来ないんでしょうか?
747 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/06(火) 17:40:38 ID:0igiZf6q0] F6:: LoopFlag = 0 return F5:: if (LoopFlag) { LoopFlag = 0 } else { LoopFlag = 1 } SetTimer, Sendkeys, 1000 return Sendkeys: if (LoopFlag) { Send, v } return とりあえずこれで動いてるもよん
748 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/06(火) 20:33:46 ID:m6+f/8Lj0] >>746 returnまで行ってないスレッドを呼び出すことはできないはず。たとえば、 a:: gosub,b return b:: loop{なんたらかんたら} return bをLoopしてる間は、Returnまで行ってないa,bともに機能しない 俺も>>747 みたく、Settimerでいったんreturnまで行くことで回避してる
749 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/06(火) 20:54:45 ID:FXxjK0vn0] FAQ@ヘルプファイルの"How can a repeating action be stopped without exiting the script?"でいいんでね?
750 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/07(水) 11:45:55 ID:tTFbfh7+0] CTRL+ALT+DELは送れない? ランチャーから「プログラムの強制終了」出したいと思ったんだけど
751 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/07(水) 12:52:40 ID:nmnaUx310] >>750 Run, taskmgr.exe で良いんじゃないの?
752 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/07(水) 13:35:33 ID:Jepk75LG0] 98なんでないのよ
753 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/07(水) 15:33:07 ID:zIezkPbs0] Clipboard変数について質問させて下さい<(_ _)> クリップボードの中身から最初のn文字(例えば5文字分)だけを抽出する方法はありますでしょうか?
754 名前:名無しさん@お腹いっぱい。 [2006/06/07(水) 15:37:12 ID:zBVvY4Eq0] >>753 StringLeft せっかく日本語のコマンドリファレンスがあるんだから ちゃんと見た方がいいよ
755 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/07(水) 15:44:06 ID:zIezkPbs0] >>754 早速ありがとうございます〜!基本的な事でスマソ リファレンスよく勉強させて頂きます
756 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/21(水) 21:43:40 ID:Y5hBJ6O70] 思い出したように保守 日本語リファレンス更新されてるね。管理人さん乙です
757 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/22(木) 02:22:24 ID:cHFnTHSC0] 日本語版とか無いみたいだけど日本語の処理問題ないの?
758 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/22(木) 03:00:35 ID:uSeun5XX0] ある。
759 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/22(木) 11:07:49 ID:0P+3tIeu0] FileInstall, Source, Dest, Flag について質問です。 ・・・と書き込もうとしてたんだけど自己解決 FileInstallを使用した際、スクリプトファイルまでのパスに日本語が使われていると スクリプトファイルをexe化するときにエラーを吐いて上手く変換されないぽい 全部1byteに変えたら上手く変換された Convert .ahk to .exe で変換するときだけの問題ぽいので 実際のスクリプトファイルや実行ファイルがあるパスに日本語が含まれていても大丈夫みたい 一応そういうことがあったと報告、重複してたらゴメ
760 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/22(木) 15:42:33 ID:POdpE2ro0] >757 IMEの状態管理用プラグインは日本人が作ってる。
761 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/22(木) 18:18:32 ID:nKnriN960] そういう事じゃないと思うんだ
762 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/22(木) 19:23:51 ID:0qpHhUW90] >>757 とりあえず文字化けとかはしない。 ただ、ダメ文字(文字の2バイト目に0x7C等)が含まれてたりすると、 文字列処理(StringReplaceとかSplitPath等)がうまくいかないこともある。 そのへんはなまずさんのところの文字列処理ライブラリを使えば対処可能。
763 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/22(木) 20:37:27 ID:0P+3tIeu0] 初歩的な質問ですいません 例えば ary1〜ary3 と言う名の変数があり それぞれの中身を参照したい場合に ary1=変数1 ary2=変数2 ary3=変数3 loop,3 { msgbox,%ary%A_Index%% } return と言うスクリプトを考えたのですが、エラーを吐き動作しません。
764 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/22(木) 20:38:00 ID:0P+3tIeu0] そこで暫定的に ary1=変数1 ary2=変数2 ary3=変数3 loop,3 { test( ary%A_Index% ) } return test( tmp ) { msgbox,%tmp% return } このような処理方法にしたのですがもっとスマートな方法はありませんか?
765 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/22(木) 21:02:30 ID:YZ8pBvMe0] temp := ary%A_Index% msgbox,%temp% これでいける
766 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/22(木) 23:27:57 ID:0P+3tIeu0] 俺は = と := の使い分け方が理解できてませんね これならスマートにできそうです。 ありがとうございました。
767 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/23(金) 21:34:38 ID:8JS9LCGx0] 右コントロールをAltにしたいんですが、 RCtrl::Send,{Alt}だとCtrlがAltにかわるだけで、 Alt+別のキーを認識してくれないんですが、 どう設定すればいいのでしょうか。
768 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/23(金) 21:48:57 ID:FfdqmuQi0] >>767 RCtrl::Alt 詳しくは↓参照 ttp://lukewarm.s101.xrea.com/remap.htm
769 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/23(金) 22:01:48 ID:FNCmH44Z0] lukewarm.s101.xrea.com/remap.htm controlとaltが交換できるかどうかは知らない。
770 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/23(金) 22:03:13 ID:FNCmH44Z0] かぶった
771 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/23(金) 22:47:38 ID:8xgDybgz0] むけばいいさ
772 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/24(土) 02:25:25 ID:qEZk/pQ+0] 文字列サンクス。 国際化きぼんしといたほうがよさそうだな。
773 名前:名無しさん@お腹いっぱい。 [2006/06/25(日) 07:19:11 ID:2OPiWT000] Shift+Space で IME のトグルを行いたいのですが, Meadow では除外するために以下の設定をしました. $+Space:: IfWinActive, ahk_class MEADOW { Send, +{Space} return } Else { Send, {vkF3sc029} return } しかし Firefox で Scroll with IME を有効にしているとき, Shift+Space を押すと IME がトグルしかつ, Space の入力による下方向スクロールが行われてしまいます. これを回避するにはどうすればよいでしょうか?
774 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/25(日) 21:42:04 ID:4MUoUZSq0] #IfWinActive じゃないの?
775 名前:773 mailto:sage [2006/06/25(日) 23:46:38 ID:2OPiWT000] >>774 なるほど #つきのコマンドでできるのですね. 以下のようにして実現できました. #IfWinNotActive, ahk_class MEADOW +Space::Send, {vkF3sc029} #IfWinNotActive
776 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/27(火) 19:35:19 ID:Fgs5cyTC0] UWSCとどっちが強い?
777 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/28(水) 01:16:03 ID:1Uw7Us+E0] >>776 [AutoHotkey] 攻撃:87 素早さ:59 防御:39 命中:18 運:48 HP:277 [UWSC] 攻撃:41 素早さ:95 防御:98 命中:18 運:88 HP:288 AutoHotkey vs UWSC 戦闘開始!! [UWSC]の攻撃 MISS [AutoHotkey]は攻撃を回避した。 [AutoHotkey]の攻撃 HIT [UWSC]は74のダメージを受けた。 [UWSC]の攻撃 HIT [AutoHotkey]は113のダメージを受けた。 [AutoHotkey]の攻撃 MISS [UWSC]は攻撃を回避した。 [UWSC]の攻撃 MISS [AutoHotkey]は攻撃を回避した。 [AutoHotkey]の攻撃 MISS [UWSC]は攻撃を回避した。 [UWSC]の攻撃 HIT [AutoHotkey]は94のダメージを受けた。 [AutoHotkey]の攻撃 MISS [UWSC]は攻撃を回避した。 [UWSC]の攻撃 HIT [AutoHotkey]は79のダメージを受けた。 [UWSC]が[AutoHotkey]を倒しました(ラウンド数:5)。 orz
778 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/28(水) 03:26:29 ID:1HU1H9N90] マルチャン
779 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/28(水) 15:13:01 ID:P/5ViBO60] >>776 ぬるさんとこの旧サイト過去ログが参照できないんでうろ覚えだけど uwscとDMonkeyか何かと演算速度比較してぶっちぎりトップだったような
780 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/28(水) 21:25:25 ID:RTMBh9ap0] AHKだとCapsLockをControlにできないそうですが では皆さんは何を使っていますか?
781 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/28(水) 22:13:43 ID:gxLI0N320] WinMinimizeで最小化するとデスクトップの左下にタイトルバーのみの状態になるソフト(たとえばJane)を、 最小化ボタンを押したときのように完全に最小化するにはどうすれば良いんでしょう。
782 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/28(水) 22:31:20 ID:p4FtCeYm0] >>780 www.losttechnology.jp/Tips/keyscancodemap.html
783 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/29(木) 00:12:50 ID:KazRnh6f0] >>781 ttp://lukewarm.s101.xrea.com/commands/WinMinimize.htm 嫁
784 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/29(木) 02:56:57 ID:YMIL19fZ0] >>783 できました。ありがとう。
785 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/29(木) 12:55:57 ID:mOUKYabn0] ファイルのドラッグ&ドロップに対応してないアプリに AutoHotKeyを使って対応させたいとか思ってます. 1.LButton Upで該当アプリにフックかける 2.今つかんでいるファイル名を手に入れる 3.ファイル名つかってアプリになんかする ...という手順で実装しようと思っていますが, 2.をahkでどうやったらいいものか困っています. なにかいい方法ないでしょうか?
786 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/29(木) 14:09:16 ID:2lcTgBXF0] Ctrl+Cでクリップボードにファイル名を入れて、吸い出す
787 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/29(木) 14:38:33 ID:gyii8ANd0] ExplorerならF2押してリネームモードにしてからCtrl+Cか。 誤動作したら嫌なことになりそうだがw
788 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/29(木) 14:47:28 ID:OjEa1TAf0] どういうことがしたいのかよくわかってないけど ファイル名が欲しいならF2押さなくてもctrl+cだけで フルパスで取得できない?
789 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/29(木) 16:30:38 ID:2lcTgBXF0] できるよ、しかもフルパスで取れる
790 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/29(木) 16:36:16 ID:oU3zY0Gn0] ドロップ先にGuiウィンドウを挟んでGuiDropFiles:で知る
791 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/29(木) 17:27:49 ID:mOZeA58w0] >>782 えっとじゃあ CapsLock をコントロールにするだけなら ↓でいいんでしょうか? [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,3a,00,1d,00,00,00,00,00
792 名前:785 mailto:sage [2006/06/29(木) 17:49:04 ID:mOUKYabn0] >>786-789 言葉足らずで申し訳ありません. 「ExplorerでCtrl+cをおしてファイル名を取得」 →「該当アプリにファイル名使ってなにかする」 というのをやりたいわけではなく 「該当アプリにファイルをDropしたときにファイル名を使ってなにかする」 を実現したいのです. >>790 LButton Upしたときに MouseGetPosしてその位置に透明なGUI窓を即座に作って GuiDropFiles: でファイル名をゲットするということでしょうか. ちょっと考えてみます.
793 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/29(木) 18:49:05 ID:n43RwllZP] あほには何言っても無駄か
794 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/29(木) 18:55:00 ID:OjEa1TAf0] ドラッグ&ドロップするアイコンはその「該当アプリ」のものじゃなくちゃ 絶対だめなの? そうじゃなくていいなら run,c:\program files\hoge.exe %1% みたいなスクリプトを書いてexeにコンパイルしたファイルに ドラッグ&ドロップという方法でも いいような気がするんだけど、だめかな コンパイルしたファイルにドラッグ&ドロップで%1%が使えるかは わからなかったので今試した msgbox,%1% ;終わり exit こんなスクリプトを書いてコンパイルしたものにファイルを ドラッグ&ドロップしたら投げたファイルのフルパスがメッセージ ボックスで出たから大丈夫じゃないかな
795 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/29(木) 19:03:37 ID:2lcTgBXF0] やりたいことは理解できるが何で説明し直してるのかがわからん ファイル名取れたらその後は自力でなんとかするって話じゃないの? 785でも「何か」のしかたついては聞いてきてないようだが。
796 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/29(木) 19:15:36 ID:2lcTgBXF0] ごめん今理解した。掴んだ時じゃなくて話した時にファイル名取りたいのか んでショートカットアイコンじゃなくて起動中の該当アプリに ファイルをドロップさせたいんだよね? 790のは該当アプリに直接ドロップするのではなく、 マウス監視してドラッグしたら最前面の小窓出してそこにドロップてことでは? irvineみたいな感じで。 ウィンドウを透明化したら制御権取れないような希ガス
797 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/29(木) 19:19:42 ID:OjEa1TAf0] >>796 あーそうなのか オレはファイルへのドラッグ&ドロップだと思ってたごめん
798 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/29(木) 20:44:53 ID:YMIL19fZ0] 面倒なので検証してないが、 1,#Ifwinexistで該当アプリがあるときのみ以下を実行 2.左ボタンを押し下げた時点で、Ctrl+C 3.左ボタンを押し上げた時点で、 a、もしマウスの下のウィンドが該当アプリならば→2のファイル名を使って処理 b、違うなら放置 ではいかんのか?
799 名前:785 mailto:sage [2006/06/29(木) 22:08:24 ID:mOUKYabn0] >>794-797 「離した時にファイル名取りたい」まさにそれです. たしかに「別ショートカット作ってそこにドロップ」「別GUIにドロップ」 に逃げればなんにも問題ないんですが... >>798 電卓で試してみました. #IfWinExist ahk_class SciCalc $LButton:: ClipSaved := ClipboardAll Clipboard = Send, ^c ClipWait, 0.1 SelText := Clipboard Clipboard := ClipSaved ClipSaved = Send, {LButton Down} Return #IfWinExist
800 名前:785 mailto:sage [2006/06/29(木) 22:09:59 ID:mOUKYabn0] #IfWinExist ahk_class SciCalc $LButton Up:: Send, {LButton Up} MouseGetPos, mX, mY, mID, mCtrl WinGetClass, mClass, ahk_id %mID% if (InStr(mClass, "SciCalc") > 0) { MsgBox %SelText% } Return #IfWinExist $LButton Up:: Send, {LButton Up} Return なんとか目的の動作は実現できそうです.ありがとうござしました. ただ...LButton Down/Up奪っちゃうと他の動作が怪しくなりますね...
801 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/29(木) 22:52:55 ID:YMIL19fZ0] >>800 最後の3行いらないだろ 他の動作でUp/Downを奪わないための#IfWinExistなんだから
802 名前:名無しさん@お腹いっぱい。 [2006/07/01(土) 12:37:26 ID:kCidEIr20] バックグラウンドにあるウィンドウを指定して キーをSendするにはどうすればいいですか? WinActivate するとフォーカスが切り替わってもとに戻せないし できればフォーカスを切り替えたくありません
803 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/01(土) 12:47:27 ID:0Hi33u+L0] WinexistとかMouseGetPosで目的のウインド取得してSendMessageは?
804 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/01(土) 14:30:17 ID:ejLYm2Hs0] >>802 ControlSend
805 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/01(土) 18:47:47 ID:kCidEIr20] >>804 ControlSend, , i, ahk_class Notepad なら希望の動作になりましたが 実は送りたいアプリは mAgicTV という TV 視聴ソフトで ControlSend, , i, ahk_class mAgicTVWindow とすると mAgicTV がアクティブになってしまいました。 WinGet, id, ID, A と WinActivate, %id% ではさんでみてもダメでした。 なんとかフォーカスを変えない方法ないでしょうか?
806 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/01(土) 21:43:19 ID:9gtYySno0] キーのリピート入力ってよくやると思うんですが、 loop と sleep でぐるぐる回すしか方法ないんですか?
807 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/01(土) 23:47:50 ID:DmCRCPtK0] キーダウン キーアップで間に間隔入れたら勝手にキーリピートになるんじゃないの
808 名前:806 mailto:sage [2006/07/02(日) 00:09:52 ID:Ab02y6aS0] >>807 実際今そういう風にやってるんですが、 なんか無理やりなやり方のように思えるので、 こんなやり方でいいのかと思って。 ちなみに今使ってるのはこんな感じです。 F1::MyKeyRepeat("^{Right}",200} F1 Up::MyKeyRepeatStop() ;; MyKeyRepeat(key,sleep=80){ global MyKeyRepeatLoop MyKeyRepeatLoop = 1 loop { if MyKeyRepeatLoop != 1 break Send,%key% sleep,%sleep% }} MyKeyRepeatStop(){ global MyKeyRepeatLoop MyKeyRepeatLoop=0 }
809 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/02(日) 02:02:42 ID:Q+Ta5ezk0] イベントじゃなくて SendコマンドのほうをUp/Downで指定したらどうよ 勝手にリピートしてくれないのか? 試してないけど F1:: Send,{Right Down} F1 Up:: Send, {Right Up}
810 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/04(火) 18:26:50 ID:cof1Hegt0] #p::SendMessage, 0x111 , 1007, 273, , ahk_class PrxTronCls で、Proxomitronのバイパスの切り替えをしたいですが、ウインドウが無い限りできません。 どうしたらいいでしょうか?
811 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/04(火) 19:43:46 ID:AkaYH3FC0] POstMessageでは?
812 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/04(火) 21:54:04 ID:rHd9XQGV0] >>810 俺もやってみようとしたができないな。 AHK使わないでWPara1007 LPara273をSend/Postしたら、タスクトレイにあるときでもちゃんとできたんだが。 ウインドの指定のやり方かな。
813 名前:806 mailto:sage [2006/07/04(火) 21:59:05 ID:G6/vCvv+0] >>809 返事が遅れてすみません。 いままでその方法ではリピートできないと勝手に思っていたのですが、 普通のキーでならそれでできますね。 実はマウスボタンで使うのが目的だったので、 マウスボタンでしか実験していなかったのですが、 マウスでは同様の方法でリピートしてくれなかったため、 勘違いしてました。
814 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/04(火) 22:13:53 ID:WJt1gwBr0] もれは Comandiux ttp://www.scot.sk/comandiux/index.htm でポストしてるけどウィンドウなくてもバイパス出来る。
815 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/04(火) 22:38:44 ID:ZOjlKI+I0] >>810 DetectHiddenWindows, On SendMessage, 273, 1007, 0,, ahk_class PrxTronCls DetectHiddenWindows, Off return ではダメですか?
816 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/04(火) 22:41:01 ID:iCn4YQLM0] >>813 マウスだったら Sendより MouseClickのがいいんじゃまいか D|Uで押し下げ/押し上げ状態もキープできる。 あとホイールでスクロールをどうにかしたいって話だったら過去レスに漁れば出て来ると思う
817 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/04(火) 22:48:33 ID:rHd9XQGV0] >>815 810じゃないけど、これで動きますね DetectHiddenWindowsなんてコマンドあったのか 不具合でまくりそうだけど、 SendMessage, 0x111 , 1007, 273, , ahk_id 0xFFFF でもいけました。 存在するすべてのウィンドにSendMessageですw
818 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/05(水) 01:01:48 ID:4vOv08xf0] >>811-817 ありがとうございます。DetectHiddenWindowsを使えばいけそうですが、誤爆が怖いんでWinShow使ってやってみます。 ttp://lukewarm.s101.xrea.com/commands/WinShow.htm (送ったあとはWinHide使えばいいのかな。個人的にはDetectHiddenWindowsが楽そうなんですが) HoeKeyの時は問答無用で送れたんでちょっと困ってたところ、ありがとうございました。 >>817 それは誤爆が怖いと思うが、いかがなもなか('Д`;) 最初はそれでやってたけど・・・
819 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/05(水) 01:45:01 ID:4vOv08xf0] 別にクラスをちゃんと指定すればおkでしたね。ごめんなさい。 需要無いかもしれませんが、foobar2000でsendmessageを使う方法と、疑似Open/Hideコマンドです。Winキーを多用する人はうはうはかもしれません。0.8.3 (もしくはすでに知ってるかもしれませんが。) #q:: DetectHiddenWindows, On SendMessage, 273, 40010, 0,, ahk_class {DA7CD0DE-1602-45e6-89A1-C2CA151E008E} DetectHiddenWindows, Off return #o:: ;最小化時、トレイに格納する場合だけ動作確認 IfWinExist, ahk_class {DA7CD0DE-1602-45e6-89A1-C2CA151E008E} { WinMinimize, ahk_class {DA7CD0DE-1602-45e6-89A1-C2CA151E008E} return } else { DetectHiddenWindows, On WinActivate, ahk_class {DA7CD0DE-1602-45e6-89A1-C2CA151E008E} DetectHiddenWindows, Off return }
820 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/08(土) 07:42:17 ID:qGKJnijM0] AHKから録音ソース(マイクやライン入力)を切り替えたいのですがどうすれば良いのでしょうか? SoundSetで色々試してみたつもりですが録音ソースを切り替える機能は見つけられませんでした...
821 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/08(土) 10:50:35 ID:HLRnu2ow0] 漏れも前やったな〜 見当たらないんだよね
822 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/08(土) 11:39:03 ID:qe11Eg9V0] DllCall("winmm.dll\mixerGetNumDevs") みたいな感じで、MixerのAPI呼び出していけば行けるんじゃないか APIはさっぱりわからんのであとはまかせるw
823 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/08(土) 13:24:39 ID:ALwXZ4jD0] いざとなったらプロパティ表示してソース選び直して[OK]押下、をエミュレートするとか 見た目はあまり美しくはないが
824 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/08(土) 21:06:55 ID:z5OGIaz00] >>821-823 簡単には行かないみたいですね API呼ぶのはちょっと敷居が高すぎる気がするので sndvol32.exe /r にMessage投げてごまかすことにします ありがとうございました。
825 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/11(火) 13:55:28 ID:EvY29YJw0] Guiのタブがえらく使いにくい 3つのタブをGui,Addで作成すると、 1 2 3 ○ ▲ ◆ ↑こうなるんだけど(上段:タブ番号、下段:それぞれのタブに配置したコントロール)、 そこからさらに2つタブを追加しようとすると 5 4 1 2 3 ○ ▲ ◆ ↑このように追加される 1 2 3 4 5 ○ ▲ ◆ か、 5 4 1 2 3 ○ ▲ ◆ せめてこうして欲しいんだが、何とかなりませんか
826 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/13(木) 03:36:51 ID:eLwJZVSR0] ソースを弄る
827 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/13(木) 07:24:10 ID:0SzuAgk/0] autoitはどうなの?
828 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/14(金) 00:46:44 ID:Fp8tR7J00] ex16.2ch.net/test/read.cgi/news4vip/1152458597/
829 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/16(日) 04:02:55 ID:xOvCEZJX0] ホットキーで Ctrl-マウスクリック の組み合わせのキーを書いているのですが、 時々コントロールが抜けて出力されることがあります。 例えば firefox では 拡大縮小が Ctrl-WheelUp, Ctrl-WheelDown に割り当てられてるのですが、 a:: Send,^{WheelDown} こういうようにキー割り当てして a をリピートすると、 なぜか時々純粋な WheelDown が送られ、画面がスクロールしていってしまいます。 他にも、エクスプローラではCtrl-ダブルクリックで フォルダを新しいウインドウで開けるのですが、 MButton:: Send,^{LButton 2} こう記述しても新しいウインドウが開く時と開かないときがあります。 原因がよくわからないのですが、 確実にCtrl-マウスクリックの組み合わせが出力できる方法はないでしょうか。
830 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/16(日) 10:48:40 ID:JXnX7QJM0] SendMode Sleep 色々ある
831 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/16(日) 15:20:28 ID:xOvCEZJX0] どうもありがとうございます。 MButton:: Send,^{LButton 2} こちらについては、sleep を間に入れて時間を置くことで きちんとダブルクリックと認識させることができました。 a:: Send,^{WheelDown} こっちは、いままで firefox でしか検証していなかったのですが、 先ほど OpenOffice で試したところ、 なんとそのままでまったく問題なく動いていました。 firefox でのみ、どうしてずれるのかよくわかりませんが、 a:: Send,{Ctrl Down} Send,^{WheelDown} sleep 300 Send,{Ctrl Up} return このようにしてみたところ、とりあえずうまくいくようになりました。
832 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/20(木) 03:18:26 ID:aCwM17AQ0] ウインドウの操作を行いたいと思うのですが,思うようにいかないので質問させてください. 目標としては,ウィンドウをhoekeyのようになめらかに移動させること, トグルでの水平方向,垂直方向への最大化です. 色々なスクリプトを参考に以下のように書いてみました. ディレイを小さくしたのですが,移動がカクカクしてしまうこと, 水平方向,垂直方向の最大化は同時に複数最大化するとサイズが上書きされてしまう問題があります. ご意見を頂けないでしょうか.
833 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/20(木) 03:24:33 ID:aCwM17AQ0] ;●ディレイの調節 SetWinDelay, 0 ;● ウインドウ位置移動 #Left:: ;[Win] 移動 (←) #Right:: ; (→) ^!h:: ;Ctrl+Alt+Hで水平方向の最大化 ^!v:: ;Ctrl+Alt+Vで垂直方向の最大化 WinGetPos,x,y,w,h,A if A_ThisHotkey = #Left ; x -= 5 else if A_ThisHotkey = #Right ; x += 5 else if A_ThisHotkey = ^!h{ if(w = A_ScreenWidth and x = 0){ w := w_h_old x := x_h_old }
834 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/20(木) 03:25:39 ID:aCwM17AQ0] else{ w_h_old := w x_h_old := x w := A_ScreenWidth x := 0 } else if A_ThisHotkey = ^!v if(h = A_ScreenWidth and y = 0){ h := h_v_old y := y_v_old } else{ h_v_old := h y_v_old := y h := A_ScreenWidth y := 0 } WinMove,A,,%x%,%y%,%w%,%h% return
835 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/24(月) 01:39:51 ID:DNeHp1KC0] タスクトレイにある特定のアプリのアイコン(例hoge.exe)1個だけを 左クリックするだけのスクリプトを作ろうとして挫折してます。 このアプリは、コマンドラインの引数を指定できず、 とにかくタスクトレイのアイコンをクリックする以外にどうしようもないやつで。 いい方法はないですかね。
836 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/24(月) 02:53:57 ID:9I40KnIj0] TrayCommand ttp://hp.vector.co.jp/authors/VA026310/soft2.htm
837 名前:835 mailto:sage [2006/07/24(月) 03:41:24 ID:DNeHp1KC0] >>836 おーこんな便利なのがあったんですか。 さっそく引数をつけて、適当なキーでiniファイルに登録しました。ありがとう。
838 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/24(月) 03:53:26 ID:7uh8bAg30] どういたしまして
839 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/24(月) 03:56:34 ID:Pbf/E+DV0] 流行らせるページにある
840 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/24(月) 04:26:24 ID:l/qgUJwX0] 前スレのjaneのdatもらえませんか?
841 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/24(月) 09:06:31 ID:EJoF76QI0] >>840 ttp://makimo.to/cgi-bin/html2dat/html2dat.cgi?pc7_software/1098/1098531338.html
842 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/24(月) 15:37:02 ID:6Dn/b3UJ0] プロセスの「ユーザー名」(Windowsタスクマネージャ→プロセスタブで見られる) を取得する方法はありますか? よろしくお願いします!
843 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/24(月) 16:00:38 ID:ozVjeoNVO] こちらこそよろしく! 俺は雅也。まー坊って呼んでくれ!
844 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/24(月) 16:02:37 ID:6Dn/b3UJ0] ( ^ー゚)
845 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/24(月) 18:06:13 ID:ozVjeoNVO] まー坊って呼べっつってんだろ。日本語通じないんか?
846 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/24(月) 18:27:05 ID:NC3ES9PEP] やん某
847 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/24(月) 18:54:27 ID:7uh8bAg30] ”マー坊“くん ”!?“
848 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/25(火) 00:11:34 ID:DKWTwnVd0] >>841 ありがとうございます 亀レスごめんなさい これで勉強できます
849 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/26(水) 18:57:00 ID:ZZJ5BPcR0] マウスカーソルを右端に寄せてホイールスクロールするとボリューム操作 みたいな事って出来ますか?
850 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/26(水) 19:01:43 ID:8mmomP4l0] 頑張れば多分できる
851 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/26(水) 19:05:14 ID:Jv4bTjlL0] >>849 MouseGetPos…マウスの座標等を取得 SoundSetWaveVolume…音量を変更する WheelDown/WheelUp…ホイールを回転させたとき
852 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/26(水) 19:50:19 ID:7nemhq5U0] 神
853 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/26(水) 20:25:01 ID:4OoZiY1v0] >>851 まれに見る良レスだな。
854 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/31(月) 18:22:20 ID:bPE7OiBX0] Logicoolのマウスドライバ、SetPointがよく落ちてプロセスだけ残ってしまいます SetPoint.exeを殺して再起動するスクリプトを書いてくださいませ
855 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/31(月) 18:48:20 ID:0t/+ddRa0] Process Close, SetPoint.exe Process, WaitClose, SetPoint.exe Run, **ふるぱす**\SetPoint.exe 落ちてからならこれでもいいだろうけど 監視したいならちょっとややこしいかも
856 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/31(月) 18:55:52 ID:oc5sAuQK0] MX1000 使ってるけど setpoint 落ちたことないよ? マウスによって安定度が違うのかもしれないが、 バージョンあげてみたら?
857 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/31(月) 19:00:04 ID:bPE7OiBX0] USB接続のKVMスイッチ使ってて切り替えたときによく落ちるのです 各種バージョンは試してみました
858 名前:名無しさん@お腹いっぱい。 [2006/07/31(月) 20:31:27 ID:zq3T1Gna0] 夏だなぁ
859 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/01(火) 05:10:23 ID:riT7Kvih0] 8月でもクリスマス島か
860 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/05(土) 06:25:55 ID:WcqHgm+Q0] 特定ブラウザを起動しているときだけ、insert、break、capsLockキーあたりのあまり使わないキーに 「ワンクリックで画像保存」を割り当てたいのですがうまくいきません。 Break:: IfWinActive,ahk_class IEFrame { Send,{RButton} Send,s Send,!s } else { Exit } 上うまくいかない例、Sendのあたりをいろいろいじってみてもどうもうまくいきません。 どうかアドバイスをお願いします。
861 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/05(土) 09:51:50 ID:4KEWoUh00] とりあえずコマンドの合間にsleep入れないとだめそうではある
862 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/05(土) 10:15:42 ID:UFh/CFsn0] >>861 適当にsleep,250いれて、 キーをcapslock::から、Ins::にしたらうまくいった。 日本語環境だとcapslockはうまく利用できないみたいですね。 os、imeあたりの制御が優先されるためかも。
863 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/05(土) 10:28:45 ID:qCpTWQJA0] >>862 日本語版だとCAPSのKeyUpが取得できないらしい。
864 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/07(月) 18:35:57 ID:wlefqxTe0] UWSCとAHKの比較 AHKの長所 --- AU3_SPY これがいちじるしく使える。クラス名取得が便利すぎ。 AHKの短所 --- ヘルプ、解説 海外ツールゆえの弱点。 日本語化されてないとこもある。 その他文法解説が弱い。 UWSCの長所 --- ヘルプ、国産、解説本
865 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/08(火) 17:00:56 ID:xAuF67xb0] やる気さえあれば、言葉の壁なんてたいしたことないと思うけど。
866 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/08(火) 21:43:28 ID:10WWq08h0] スクリプト系のツール使おうって奴が英語読めない方がおかしいんだから 日本語(2byte文字)が全く扱えないとかならまだしも日本語化されてないとか、 解説が英語だとかなんて短所にならん。それにAHKは文法解説もきちんとしてる。 弱いと感じるなら、それは君の英語読解力が弱いからだ。 つまりAHKに海外ツールゆえの弱点があるのではなく、 君自身に英語力が低いという弱点があるってことだなw
867 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/08(火) 22:13:51 ID:xAuF67xb0] まるで留学先で日本語が通じないことにキレてるようなもんだよな。 コンピュータがどこで発明されたか知らんのか。
868 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/08(火) 22:37:30 ID:68cnhmau0] おれは英語そこそこ出来るからそこそこ使えて問題は感じないぜ、 英語できない奴はかわいそう、 なんて考えてる奴こそ、いつまでたってもそこそこしか使えないんだよ。
869 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/08(火) 22:56:26 ID:RC9dTpIq0] 完璧に使えないと駄目だったらあれだな。 UWSCのドキュメントも見てみたけど、文法解説はいまひとつだと思った。実用には十分だと思うけど。 AHKは流行らせるページの文法解説ってそんなに弱いか? 個人的には、AHKの最大の長所は「過去の資産が膨大にある」点だと思うんだが。
870 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/08(火) 22:56:38 ID:wARQiyMe0] >>866 まず一行目を論理的に説明して
871 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/09(水) 01:27:51 ID:upMtDTV/0] ここ耐性低いな
872 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/09(水) 01:28:39 ID:lyPkatCS0] 入れ食いだな。
873 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/09(水) 01:50:17 ID:+c+/K6Sh0] フレーミングは参加した時点で(何を言おうが)負け。 見かけたら、通り過ぎるまでじっと待つのが最善の策。 よって、俺も負け。
874 名前:名無しさん@お腹いっぱい。 [2006/08/09(水) 01:53:27 ID:9toRUw2f0] 俺も負け
875 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/09(水) 02:07:24 ID:AXyISart0] 耐性とかどうでもいいんだけど そもそも俺は荒れても構わないし 反応したやつに反論できないなら普通にそいつの負け
876 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/09(水) 10:12:49 ID:PuK1jjIl0] ネット上での言い争いの事をフレームというのだな >873のおかげでひとつ賢くなった
877 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/09(水) 11:23:35 ID:4XOMBbI70] というか AHK と UWSC って比べるようなソフトだっけ? 用途が違うような気もするが。
878 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/09(水) 11:29:02 ID:q+f9pvSC0] 要は、必死で煽り文書いてみたけど、 反論に答える力がないから、すぐに釣り宣言して逃走ってことでいいの?
879 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/09(水) 11:59:39 ID:cLFR+lkB0] >>878 正解
880 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/09(水) 23:15:43 ID:NC9fRfuw0] >>232 と(たぶん)同じだから環境特有の問題じゃないと思うんだけど、 vkF2 & up::SoundSet,+2.5 vkF2 & down::SoundSet,-2.5 ってスクリプト動かすと、ひらがなキーを一度でも押すとずっとvkF2押しっぱなしな状態になってしまう。 以降はもうupかdown入力するだけでSoundSet実行。 mayuでひらがなキーをmod0にして使ってたのを乗り換えたいんだけど解決方法無いかな?
881 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/12(土) 05:57:56 ID:dKEaHFEv0] >>878 しかし、まともに反論しても、 フレーミングに参加するやつは負け組みといわれるのが2チャンネル。 もしくは、「ねたにマジレスすんな、お前は釣られているのだが……」
882 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/12(土) 08:42:18 ID:YN3EaHF80] 蒸し返すなYO
883 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/12(土) 15:54:25 ID:H0uY3V2H0] >>881 だからこっちは常駐してるスレが荒れてもいいって言ってんだよボケ 釣りなら釣りでやり遂げろよ あと自演するなら文体変えろド素人が
884 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/12(土) 17:10:39 ID:nKacSO160] フレーミングは参加した時点で(何を言おうが)負け。 見かけたら、通り過ぎるまでじっと待つのが最善の策。 よって、俺も負け。
885 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/12(土) 19:52:23 ID:EmbbAg0I0] アジャパーヽ(´ー`)ノ
886 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/12(土) 20:11:11 ID:dUP2033C0] flaming 覚えたてで使いたかっただけちゃうんかと
887 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/12(土) 20:39:07 ID:/DuFVmL/0] コピペ
888 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/14(月) 15:30:20 ID:DtFvPCvr0] AAAというソフトがアクティブな時 マウスカーソルがソフトAAAのクラスBBBとクラスCCC上にある場合 マウスの拡張ボタン XButton1を押すとXButton1がそのまま送られ、 クラスBBB、CCC上以外の場所にカーソルがある場合は XButton1を押したらEnterキーが送られる。 という物を作りたいのですが、どうすればいいでしょうか?
889 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/14(月) 15:54:17 ID:NTc2eNg20] >>888 MouseGetPosでいいんじゃない
890 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/14(月) 15:59:46 ID:U+odDKWZ0] IfWinActive…該当ウィンドウがアクティブか MouseGetPos…マウスカーソルの位置、マウスの下のウィンドウやコントロールを取得 Send…キーストロークを発生させる 851に倣って必要なコマンドあげてみたが、わざわざ解説するまでもなく基本機能だったな まぁせっかくの夏休みなんだし、頑張ってみれ
891 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/14(月) 16:34:20 ID:DtFvPCvr0] 変数名とキー名は流行らせるページに一覧が乗っていたので分かるのですが、 構文が分からないんです。
892 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/14(月) 16:40:23 ID:U6j7VEhq0] > どうすればいいでしょうか? 勉強
893 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/14(月) 17:16:18 ID:mrhengen0] >>891 まず、最初から丸投げしないで、自分なりに書いてみる。 それで動かなかった場合、何故動かないかをここで聞いてみれ。 さすがにそれをスルーする程にはここの人達も冷たくなかろう。
894 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/16(水) 00:12:28 ID:uW+77TpF0] すみません、ちょっとお伺いします これってコンパイルするときに、例えば画像や音声ファイルを 一緒にパックしてexe化することって可能ですか?
895 名前:894 mailto:sage [2006/08/16(水) 00:22:57 ID:uW+77TpF0] すみません、見つかりました。自己解決です。
896 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/16(水) 00:25:14 ID:1qUWJw7B0] >>894 アイコンは含められるけど、その他のファイルは(実用的には)無理だと思う。
897 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/16(水) 00:41:55 ID:uW+77TpF0] そうみたいですね マニュアルで FileInstall っての見つけて、これでパックしてみたんですが 何故だかいざ実行してみるとファイルが見つかりませんってなりますね なにか使い方を根本的に間違っているなかな? ともかく、お返事ありがとうございます。
898 名前:896 mailto:sage [2006/08/16(水) 01:09:20 ID:1qUWJw7B0] >>897 あ、ごめん。FileInstallの存在忘れてレスしてた。 FileInstall使えばできるよ。 できないとしたらスクリプトの先頭の方に書いてないとか。
899 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/17(木) 00:47:26 ID:2PVlAupL0] カーソルが画面隅にあるときホイールを無効化するスクリプトを組んだのですが WheelUp:: IfWinActive, Sleipnir { Send, {F1} } else { Send, {WheelUp} } return IEなのでページをスクロールするときのホイール動作がもっさりしている気がします。 else文で WheelUp::WheelUp こうなってるのが原因な気もしますが・・・ なにかいいアイデアは無いですか?
900 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/17(木) 00:52:35 ID:2PVlAupL0] 誤:IEなので 正:IEなどで
901 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/17(木) 01:10:07 ID:In5F2pPh0] PostMessageでWM_MOUSEWHELLを投げる それか,加速処理を入れ込んでみたら? 前スレにサンプルあった筈
902 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/17(木) 01:20:46 ID:In5F2pPh0] つか,ぬるさんがホイールリダイレクト作ってたんだっけ この辺落としてきて中身参考に汁 ttp://lukewarm.s101.xrea.com/myscripts/index.html
903 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/17(木) 01:51:04 ID:2PVlAupL0] >>902 ホイールリダイレクトも試しに使ってみたのですが、やはりもっさりしてしまいました。 加速度はマウスドライバで細かく弄ってあるので、できれば加速処理等はしたくないです。 あとWheelUp::WheelUp この処理が原因かと思って↓こんなのも試したのですが IfWinActive, Sleipnir { WheelUp::F1 } else { ;何も無し。うまくいけばホイール回転をスルーしてそのままの加速度でいけるかも? } return これだと、どの場所でホイールしてもホイールが全てF1に変換されてしまい失敗でした。 ちなみにマウスはMicrosoft IntelliMouseOpticalです。ドライバは純正でVer5.2です。
904 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/19(土) 16:48:04 ID:cQubjpuu0] 小ネタ ; irfanViewのexe を指定 iview32 := "C:\Program Files\irfanview\i_view32.exe" ; 画像の拡張子を指定 screenShotExt := "png" ; 保存先のディレクトリを指定 screenShotDir := userprofile "\デスクトップ" 任意のキーバインド:: ; yyyyMMdd-hhmmss 形式を生成 file := A_YYYY A_MM A_DD "-" A_Hour A_Min A_Sec ; capture=0 なら 画面全部、 1ならアクティブウィンドウ Run, "%iview32%" /capture=1 /convert=%screenShotDir%\%file%.%screenShotExt%
905 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/19(土) 17:09:38 ID:nR6kdIAC0] irfanviewでも出来たのか・・・ 俺もちょうど昨日winshot非常駐化した 常駐ソフトがどんどん減って面白いわ
906 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/22(火) 11:29:47 ID:UMefObLg0] 流行らせるページ落ちてる? ようやく始めようと思って開いたら無かった。 復旧町か。
907 名前:名無しさん@お腹いっぱい。 [2006/08/23(水) 04:15:23 ID:52TsQxrC0] 「;」キーを「a」にするのってどう書けばいいんですか? ;;;aだと.ahk実行しても出来ません 多分「;」をなにかで囲んだりするんだろうけど、どうやるか分かりません どなたか教えてください
908 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/23(水) 05:07:11 ID:hfHkq/U60] つ キーコード
909 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/23(水) 10:21:32 ID:Y+tDCBhY0] >>907 ttp://lukewarm.s101.xrea.com/KeyList.htm 今後は↑の一番下を見ること。↓の3つの内のどれでも指定できるはず。 vkBB::a ;「;」の仮想キーコードBBを指定 sc027::a ;「;」のスキャンコード027を指定 vkBBsc027::a ;仮想キーコードとスキャンコードの両方を指定
910 名前:907 [2006/08/23(水) 14:50:08 ID:52TsQxrC0] >>908-909 出来ました ありがとうございました
911 名前:名無しさん@お腹いっぱい。 [2006/08/23(水) 20:36:48 ID:52TsQxrC0] >>575-576 みたいに 格ゲーのコマンドをボタン一発で出したい時ってどう書けばいいんですか? d→d+f同時押し→f+j同時押し(ちなみにd=下、f=前、j=弱パンチ。波動拳コマンドです!) とやりたいんですけど、 a:: Send,{d} Send,{f} Send,{j} と書いて.ahkで保存したんですけど、まったく機能してません どなたか教えてください
912 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/23(水) 20:42:00 ID:hfHkq/U60] ゲームだと、ツールでの不正防止(格ゲーでは必要ないだろうけど)とか、 入力制御の都合とかで、通常のキーコードを拾わないものが腐るほどある。 とりあえず複数キーではなく、単発キーで試して、それすら拾わないならAHKでの対応は諦めよう。
913 名前:911 [2006/08/23(水) 20:54:32 ID:52TsQxrC0] >>912 レスありがとうございます f::dとして入れ替えてみたんですが、ちゃんと入れ替えできました .ahkに書く内容って a:: Send,{d} Send,{f} Send,{j} だけでいいんですか? なんかこれだとD(十字キー↓)、F(十字キー→)で、J(ボタンA)って割り当ててるんで 斜め押しがないような気がするんですけど。
914 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/23(水) 21:33:10 ID:zLZrXw5L0] Send, afj これだけでいいんじゃまいか
915 名前:911 [2006/08/23(水) 21:39:23 ID:52TsQxrC0] >>914 a::Send, dfj をsenddfj.ahkで保存してやって見ましたがダメでした_| ̄|○ 書き方間違ってますか?
916 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/23(水) 21:52:13 ID:el4zMw010] send,{d down}{f down}{d up}j{f up} あとSetKeyDelayの値とか。
917 名前:911 [2006/08/23(水) 22:22:39 ID:52TsQxrC0] >>916 これってaボタンにこのコマンドを登録するには a::send,{d down}{f down}{d up}j{f up}って a::はいらないんですか?
918 名前:911 [2006/08/23(水) 23:40:00 ID:52TsQxrC0] どなたか!
919 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/23(水) 23:42:40 ID:Y+tDCBhY0] >>918 試せば分かるでしょ。
920 名前:911 [2006/08/24(木) 00:02:41 ID:52TsQxrC0] a:: send,{d down}{f down}{j down}{d up}{f up}{j up} でやったらなんとか出るんですけど、時々パンチだけ打ったりします どこがわるいんでしょうか?
921 名前:391 mailto:sage [2006/08/24(木) 00:05:02 ID:N+GjQWMF0] >>920 1時間くらい試行錯誤してみろよ
922 名前:911 [2006/08/24(木) 00:07:29 ID:52TsQxrC0] >>921 了解! く(`・ω・´)行って参ります
923 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/24(木) 00:22:50 ID:KH7bvAbO0] てめーSendコマンドの説明読んでないな
924 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/24(木) 00:38:31 ID:WnBC1VuP0] どうでもいいけど 2行以上にするなら return入れなさいよ
925 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/24(木) 01:27:15 ID:9ANH7vkE0] どうでもいい
926 名前:911 [2006/08/24(木) 01:50:07 ID:TebRODsR0] 全然出来ない・・・ 何回か連打してると確実にパンチとか出る >>923 すみません 読んだけど全然出来ません >>924 ありがとうございます 入れなくても動くけど入れた方がいいんですね もうひとつ聞きたいんですが、aキー押したら、Jキー1秒間に20連打とかって出来ますか? a::{j 20} で1秒間に20連打いきますか?
927 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/24(木) 03:58:18 ID:KH7bvAbO0] ディレイの設定次第ではそうなる
928 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/24(木) 06:41:08 ID:e+RPRV6N0] 毎度のことだけど合間にpauseが無い性じゃないかと
929 名前:連続で申し訳 mailto:sage [2006/08/24(木) 06:41:53 ID:e+RPRV6N0] sleepでした。すみません
930 名前:911 [2006/08/24(木) 16:40:26 ID:TebRODsR0] >>929 ヘルプ見たけどこれをどう組み込むかが全然分からない どうやるんですか? Sleep, 1000 ; 1 second SetKeyDelay, 0
931 名前:911 [2006/08/24(木) 16:40:56 ID:TebRODsR0] >>927 出来るんですか、良かった
932 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/24(木) 19:13:28 ID:WmELH/U20] とりあえず一回ごとに聞きに来ないで、流行らせるページをきちんと熟読しろ こないだ落ちてたけど今はもう復旧してるから
933 名前:911 [2006/08/24(木) 23:17:24 ID:TebRODsR0] >>932 見たけど、何がなんだかさっぱり・・・ なんというかもっと書式の具体例が多く載ってるサイトってありませんか? というか、誰か書いてよ。・゚・(ノД`)・゚・。
934 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/24(木) 23:25:42 ID:6uORQeeG0] いい加減自重しろ。only1の存在だか何だか知らんが無知である事ぐらいは恥じてくれ。
935 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/25(金) 00:10:48 ID:thm//g2H0] 以後放置かレスするなら丁寧に教えるかどっちかにしてもらえるかな キリがないから
936 名前:名無しさん@お腹いっぱい。 [2006/08/25(金) 00:17:13 ID:1crmFTa/0] どんどん質問してくれ、ここの人は親切だから答えてくれるよ
937 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/25(金) 00:30:24 ID:Vi3Seppi0] 正直、流行らせるのとこのサンプルどんな挙動するのか書いてないから 全然参考にできない。キー置換くらいしかできない人だから・・・
938 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/25(金) 00:39:39 ID:4nigyMat0] >>937 書いてないなら試せばいいじゃない。 ちょっとした挙動確認にこのスクリプトマジおすすめ。 ttp://www.autohotkey.com/forum/topic7831.html
939 名前:391 mailto:sage [2006/08/25(金) 00:46:09 ID:PBih+xe80] >>938 このスクリプトいいすね 保存とかしなくても動作確認出来るのか!サンクス
940 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/25(金) 00:49:13 ID:PBih+xe80] また名前が残ってたよ。。orz
941 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/25(金) 08:22:44 ID:XRAU8LtZ0] もうちょっとモジュール管理とかしやすくならないかな。 自分のコードをそれなりに育ててると他人のコードを導入しにくい。
942 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/25(金) 09:26:22 ID:CVIA2L5H0] 月曜日に使い始めて初めて作ったスクリプdがどうにか想定どおりに動いたので記念カキコ
943 名前:名無しさん@お腹いっぱい。 [2006/08/25(金) 15:34:19 ID:B5FGjtB30] AHK使いこなせてる人がうらやましい。 俺が知らないちょー便利なスクリプトがあるかと思うと腹が立つ!
944 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/25(金) 17:58:08 ID:jUefnTnu0] >>943 あんなことやこんなことにちょー便利なスクリプト 作って運用してるよ〜 ムフフフ 羨ましかったらがんばりな〜
945 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/25(金) 19:17:42 ID:zpsuwIMd0] マウスに機能振付ける程度しかしてねえ。 みんなAHKでなにやってんの?
946 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/25(金) 19:28:21 ID:PlFbS7d10] よく使うソフトが存在して非アクティブならアクティブに、アクティブなら非アクティブに。存在しないなら起動する、ってのが一番使ってるのかな?
947 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/25(金) 19:42:10 ID:i2UrWwt80] 一番使ってるのは、Alt+英字キーでそれぞれ特定窓のアクティブ化かな あとはAlt+↑で窓最全面固定、Alt+↓で解除
948 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/25(金) 19:51:56 ID:hvqw5/0V0] 俺もウインドウ操作が多いかな。Win+中クリックでアクティブウインドウをシェードが一番お気に入り。
949 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/25(金) 20:09:30 ID:R2YBf9ek0] X1,X2にマウスジェスチャ
950 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/25(金) 20:22:15 ID:wwLtwdLn0] Winシェード、助けっててば〜もどき、キーボードでのウィンドウ操作(移動、大きさ変更等)、 ホイールリダイレクトとか 後は普通にキーボードランチャとか 一時期 TTBaseをやたらとパクってた
951 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/25(金) 20:37:43 ID:jUefnTnu0] 漏れは、DVという動画再生ソフトをコントロールするのに使っている。 DVは動画の特定場面を(始点終点を指定して)ブックマークできるので、 これをAHKを使って外部からコントロールしている。 これで何が出来るかというと、いきなり動画を立ち上げたら 特定場面を繰り返し再生するようなことができる。 用途は
952 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/25(金) 21:15:26 ID:IrUfF2vB0] アプリ起動時に何か作業させたいときとか キーカスタマイズできないアプリ使うときに重宝してる スクリプトごとにAHKファイルを作って使う事が多いかな フリーソフトはカスタマイズして好みの動作に出来るのにさ パッケージソフトって融通効かないのが多いよね
953 名前:名無しさん@お腹いっぱい。 [2006/08/25(金) 22:20:34 ID:B5FGjtB30] 俺がよくつかうスクリプトは画面のガンマを明るくしたり暗くしたりするスクリプトかなぁ。 フルスクリーンのゲームとかやるときに重宝する
954 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/25(金) 23:14:52 ID:wwLtwdLn0] 毎回決まった操作するソフトのバッチ化とか便利だよな マウス操作しか受けつけないソフトとかでもエミュレートできるし、ゲーム系は知らんけど
955 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/25(金) 23:17:29 ID:MlWlsT/U0] みんないろいろな使い方してるんだね。 自分で作ってこれがないとイヤって気分になったのは ・タスクトレイの不要なアイコンを消す。消したアイコンはGUIで作ったメニューで操作 ・コモンダイアログ操作(新規フォルダ作成や上のフォルダへ移動をキーで行える、よく使うフォルダをGUIメニューで選べるなど) ・自作コマンドラインランチャ ・クリップボード拡張に似た定型文貼り付けツール ・ファイルを開くときに起動ソフトを選べるポチエスもどき ・非アクティブ状態の音声プレイヤーをキー操作 ・音声ボリュームをキー操作 ・壁紙を10分ごとに変える ・メッセンジャーのアラートをすぐ閉じさせる こんなとこかな。
956 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/26(土) 00:02:07 ID:YnG/1Q9h0] 結構人いるじゃん。普段どこにいるのよw
957 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/26(土) 00:07:35 ID:+klA55Wk0] 自慢大会
958 名前:名無しさん@お腹いっぱい。 [2006/08/26(土) 00:28:44 ID:JO8noLou0] いろんなスレで宣伝されてるから結構ひとは増えてるな
959 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/26(土) 01:04:49 ID:8DCBYvtZ0] キーロガ(ry として・・・
960 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/26(土) 02:36:43 ID:X/Ib7Ykp0] ひでえw
961 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/26(土) 08:45:01 ID:m3e78oi50] スレのまとめサイトを作るときの省力化に使ってる スレの書き込みをコピーすると、自動でまとめの形式に整形してペーストできるようにしたりとか
962 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/26(土) 15:17:13 ID:wHPKaZ6r0] >>955 >>タスクトレイの不要なアイコンを消す これ便利そうですね どんな感じで実装したか教えていただけませんか? #NoTrayIconがそれ系の設定かと思ったんですが 自身のアイコンしか設定できないみたいですね
963 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/26(土) 16:29:27 ID:JCJaH2650] 流行らせるページに置いてあるっしょ
964 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/27(日) 00:32:45 ID:ZEntdSAc0] >>963 見落としました、ありがとうございます。
965 名前:911,913,920 [2006/08/27(日) 01:33:14 ID:HA7NngEi0] もうなんか全然出来ません_| ̄|○ どなたかキー設定はこれとしてどのように書くか教えてください 上=E 左=S 下=D 右=F パンチ=J 波動拳コマンド(下→右下→右+J)←最後の右と同時にJ押す ため技(左2秒間押しっぱなし→右+J) 連射(Jボタン1秒間に20連射)
966 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/27(日) 03:04:25 ID:Avw5cK+C0] >>965 教えてあげたいけどもうなんか全然出来ません_| ̄|○
967 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/27(日) 03:13:42 ID:hasAzi8a0] >>965 UWSCでその操作を記録する ↓ 再生する ↓
968 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/27(日) 05:01:24 ID:m+fbBZjP0] >>967 > >>965 > UWSCでその操作を記録する > ↓ > 再生する > ↓ じゃあまずJボタン1秒間に20連射することからはじめなきゃな
969 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/27(日) 09:50:26 ID:pdM9eWxw0] > Jボタン ボタンかよwww
970 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/27(日) 16:24:32 ID:nyrLHg0T0] 悩むよりパッド買ったほうが早いんじゃねえ?
971 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/27(日) 23:46:40 ID:HXc/5fNb0] >>970 正論だな 1000円以下で買えるんだし、 あれこれ悩む時間と比較したらやすいもんだ というか、レスの流れみてると一生スクリプト組めそうもないし
972 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/27(日) 23:57:30 ID:hasAzi8a0] 家庭用ゲーム機の格闘ゲームを買う ↓ PCのことは忘れる
973 名前:942と961 mailto:sage [2006/08/28(月) 08:50:44 ID:Is6v/MF40] >>942 のように言っておきながら、いざ実際に使ってみるとまったく動かなかったり… 〜1 ToolTip, *加工中* Sleep, 200 BlockInput, On send, {Lbutton Down} send, {Lbutton Up} Sleep, 50 Send, w Sleep, 50 Send, a Sleep, 50 〜2 ClipSaved := ClipboardAll Run,E:\softwares\refo\refo.exe E:\softwares\refo\recipe\■■■■_resban.rrf Sleep, 200 FileAppend, %Clipboard%, E:\■■■■_temp.rrf 〜3 Sleep, 200 Clipboard := ClipSaved Run,E:\softwares\refo\refo.exe E:\softwares\refo\recipe\■■■■.rrf Sleep, 200 Run,E:\softwares\refo\refo.exe E:\■■■■_temp.rrf Sleep, 200 FileDelete, E:\■■■■_temp.rrf ToolTip, BlockInput, Off
974 名前:942と961 mailto:sage [2006/08/28(月) 08:51:44 ID:Is6v/MF40] Janeでレスの全文を自動でコピー(〜1まで)、それをセーブしてから クリップボードの書き込みからrefoで2次加工をするためのマクロを作成してファイル化(〜2)。 〜1でセーブしておいた全文を復活させrefoで1次加工したあと〜2で作ったマクロで2次加工。 〜2のマクロを消して完了 正規表現ではちょっとやりにくいことをさせてるんで その場でマクロを作成してテキストを加工するという流れ。 USBメモリにexe化して使ってるが、 家のw2kでは問題なく動くんだが出先のxpの入ったpcだとロクに動かない…
975 名前:942と961 mailto:sage [2006/08/28(月) 09:52:32 ID:Is6v/MF40] >家のw2kでは問題なく動くんだが出先のxpの入ったpcだとロクに動かない… と思ってたが、実際使うのと同じような環境で使ってみると 家のPCでもやはりうまく動かないことが多い… どうすればいいのじゃ
976 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/28(月) 10:09:50 ID:qnqCJlGT0] 昔のヴァージョンだとFileAppendで 存在しないパスを指定してもファイルが新規作成されなかったけど XpでのAHKヴァージョンはどう? あとRunWAitでREFOを終了を待ってみるとか >Run,E:\softwares\refo\refo.exe E:\■■■■_temp.rrf >Sleep, 200 >FileDelete, E:\■■■■_temp.rrf ここで間に合わないと削除の方が早くなるかも
977 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/28(月) 23:13:58 ID:bfA0G0oq0] la.ma.la/blog/diary_200608281736.htm まらたん万歳
978 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/29(火) 00:49:37 ID:sj53R3ZL0] マウスの中ボタンでアプリの切り替えをおこなおうとおもい、 いろいろ試したのですがうまく操作を受け付けてくれません。 MButton::AltTabMenu ↑を起点にして、sendとかいろいろしてみたのですがうまくいきません。 どうか知恵をおかしください。
979 名前:942と961 mailto:sage [2006/08/29(火) 08:55:42 ID:4kzVANcN0] >>976 >XpでのAHKヴァージョンはどう? 最新版の入った家のPCで作ったexeをUSBメモリに入れて使っていますので そっちの問題ではないと思われ refo使用後に必ずRunwait、それからSleepを全動作の間に狂ったようにはさみまくってどうにか成功率が上がりました …といっても10%以下だったものが50%くらいにですが。 微調整すれば期待通りに動くと信じていじってみます
980 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/29(火) 10:00:48 ID:vaG1joB40] 何か別のクリップボード監視系ソフトが入ってるとか
981 名前:942と961 mailto:sage [2006/08/29(火) 12:32:46 ID:1byQz9JE0] tomoclipというソフトは使ってますが、 使用を止めてみても変化がありませんでした。
982 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/29(火) 12:52:58 ID:vaG1joB40] あとはFileAppendで時間がかかってるという線かな これもWait出来ればいいんだけど。 FileGEttimeとかIfExistとかで 書き込みが終了してファイルが解放されたことを調べられないかな?
983 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/29(火) 17:23:41 ID:eGhPSUa50] MsgBoxデバッグ
984 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/30(水) 10:10:31 ID:ZRSPoaox0] >>978 中央ボタンがマウスドライバかなんかで 別なのにのっとられてるんじゃないの。 logitech の setpoint なんかだとそうだよ。 設定で直せる。
985 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/30(水) 19:23:03 ID:2Q5vZD5n0] >>984 レスありがとうございます。 サンワのマウスつかってます。 ドライバがくそです。ハードは軽くて、ボタンとかも押しやすいんだが…… やっぱりMSのマウスかな。
986 名前:911,913,920,965 [2006/08/30(水) 20:11:37 ID:YWVqs1GT0] 誰か〜。・゚・(ノД`)・゚・。
987 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/31(木) 12:04:34 ID:RRrBfgN00] まだいたのか・・・
988 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/31(木) 13:10:44 ID:ho1dZPPmO] >波動拳 920じゃdキーを押したまま(downのまま)jキーを押してる。dを離してからjだろ? >ため技 sを押してから2000ミリ秒sleepしてsを離してfとjを押せ。 >連射 SetKeyDelayを適当に設定して{j 20}。
989 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/31(木) 13:19:57 ID:zsrklxdL0] send,{した down}{みぎ down}{した up}{パンチ down}{みぎ up}{パンチ up} こうじゃないの。 あとは必要なら間にスリープ入れてタイミング取る。
990 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/31(木) 13:20:20 ID:J2AR2qUd0] MButton:: RButton:: Hotkey,LButton,MRtoLButton If 条件 ジェスチャー発動 Else キャンセル処理 Hotkey,LButton,Off Return MRtoLButton: Lジェスチャープラス Return こんな感じで、普段 LButton は拾わず、MButton か RButton が押された時だけ LButton を Hotkeyコマンドで登録して MButton or RButton 始動のジェスチャーに LButton を からめたいんだが、LButton が登録されず どうしても上手くいかない。 (MR , MM , RMMM , R→M↑ 等のジェスチャーは上手くいっている) なぜだろう?
991 名前:990 mailto:sage [2006/08/31(木) 13:52:02 ID:J2AR2qUd0] 自己解決・・・・・・たぶん。
992 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/31(木) 15:04:24 ID:skD9nj7X0] BuildWait, NextThread
993 名前:911,913,920,965 [2006/08/31(木) 20:58:47 ID:zM1AWgyN0] >>988 >>989 ありがとうございます! >>965 の波動拳コマンドはなんとか安定して出るようになってきました 波動拳コマンド a:: send,{d down}{f down}{d up}{f up}{j down}{j up} が、ため技が全然出ません。。。 h:: send,{s down}Sleep, 2000{s up}{f down}{u down}{f up}{u up} こう書いてみたのですが、なんかまったく違う動きをします。 どこが違うのでしょうか?
994 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/31(木) 21:14:55 ID:VxkuwdTM0] >>993 このスレも残りわずかだし、乗りかかった船だ。 オマエのミスその1:1行に命令文はひとつしか書けないことがわかってない。 オマエのミスその2:複数行にわたる場合は最後にreturnが必要。 オマエのミスその3:jキーを押すだけならdownとかupとかは不要。 オマエのミスその4:そもそも人生の大切な時期をゲームに費やしている時点で負け組。 以上を踏まえて。 >波動拳⇒自分が書いたものとjキーの扱い方を比べてみろ。 a:: send,{d down}{f down}{d up}j{f up} return >ため技⇒命令はsend、sleep、sendと3つあるので3行にならなくてはいけない。 h:: sキーを押下 2秒スリープ sキーを離してfとjを押下 return
995 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/31(木) 22:30:44 ID:0kJl8rFb0] 繭スレの奴に比べればかわいいもんだわ。
996 名前:911,913,920,965 [2006/08/31(木) 22:56:03 ID:zM1AWgyN0] >>994 おお、ありがとうございます なんかすごく安定しました 波動拳は、ほとんど余計な動作が入らなくなりました ため技は完璧です あとは、いくつかのゲームで試したのですが、相性みたいのがあるみたいなので Sleep入れたりしてこれから試して生きたいと思います。 また、分からなくなったら聞きにきますのでよろしくお願いします。
997 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/31(木) 22:59:55 ID:LVFk+1qM0] どういたしまして またいつでもどうぞ^^
998 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/31(木) 23:24:22 ID:QM2YH2fS0] こうしてまた役立たずの低脳が1匹居付いたのであった。
999 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/31(木) 23:48:21 ID:Ft3Xb2Oa0] 999
1000 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/31(木) 23:51:07 ID:UYcjre3V0] 1000
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。