1 名前:名無しさん@お腹いっぱい。 [2009/05/23(土) 00:23:38 ID:78PWRd9v0] ■公式 www.autohotkey.com/ ■解説 AutoHotkeyを流行らせるページ lukewarm.s101.xrea.com/ ■過去スレ 1 pc7.2ch.net/test/read.cgi/software/1098531338/ 2 pc7.2ch.net/test/read.cgi/software/1129836713/ 3 pc11.2ch.net/test/read.cgi/software/1157043396/ 4 pc11.2ch.net/test/read.cgi/software/1184556627/ 5 pc11.2ch.net/test/read.cgi/software/1201502896/ 6 pc11.2ch.net/test/read.cgi/software/1219130051/ 7 pc12.2ch.net/test/read.cgi/software/1230694774/ ■派生版 AutoHotkey_L www.autohotkey.net/~Lexikos/AutoHotkey_L/ 駄目文字微対策版 yak.myhome.cx/junks/#ahk.cp932 関連リンク>>2 以降も参照
237 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/18(木) 18:07:05 ID:Ojx5UvYg0] 特定のウィンドウもしくはソフトがアクティブの場合の指定などがわかりません。 Ctrl+0をF1に割り当てる場合どうすればいいですか?
238 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/18(木) 19:35:35 ID:HZFIWwq10] 1年ぶりにロジクールのスレを覗いてみたんだが、 >Q. SetPointの設定が勝手にデフォルトに戻るんですが? >A. キャンセルやクローズ(「×」)を押さないようにしましょう。 > >Q. SetPoint 入れたくない(使いたくない)んで違う神ドライバありませんか? >A. そんな都合のいいものがあったら是非教えてください。 添付アプリの糞加減は、なにも変わっていなかった・・・
239 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/18(木) 19:41:07 ID:JJ+I/19Q0] 路地はハードは良いんだけどね と言うかマウスユーティリティで良いものってあまり見ない。 絶対使わなそうなランチャとかイラネ。 古いInteliPointとエレコムホイールユーティリティは良いと思う >>237 もうちょい頑張ろうぜ ttp://lukewarm.s101.xrea.com/Examples.html
240 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/18(木) 20:16:32 ID:7JmYAkRj0] AutoHotkeyをインストールする (インストーラーでインストールするとahkファイルの関連付けが一緒に行われる) Autohotkey.exeと同じフォルダに 新規テキスト 作成する。 新規テキスト.txt を AutoHotkey.ini に変更する ※AutoHotkey.ini ではなく、任意の名前.ahk (ahkファイル)でもいい。 ※ahkファイルならどこに作成してもOK。 テキストエディタ(メモ帳など)で Autohotkey.ini を開く。 ウィンドウの識別方法はいくつかあるけど、ウィンドウクラスで識別する方法を。 ウィンドウクラスを調べる方法はいろいろあるけど同梱されている AU3_Spy.exe を使うと簡単。 (AutoHotkey.exeと同じフォルダにある) 取得した ahk_class をクリップボードにコピーする。 例えばメモ帳のウィンドウクラスを調べると Notepad ということが分かる。 #IfWinActive, ahk_class Notepad ; メモ帳がアクティブなら ^0::F1 これを AutoHotkey.ini に貼り付けて保存し、Autohotkey.exe を実行。 (任意の名前.ahk に貼り付けて保存した場合は 任意の名前.ahk をダブルクリック) 最初の取っかかりで躓いているのだろうけど 後は>>239 のリンク先に殆ど書かれている。
241 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/18(木) 21:10:14 ID:Ojx5UvYg0] いまんとこできたのがソフトの起動のみ・・・ WinTitle Mozilla Firefox ^PgDn::F2 #IfWinActive MozillaUIWindowClass ^PgDn::F2 これでできません・・・何が間違ってるのでしょうか?
242 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/18(木) 21:23:46 ID:wnsiLCT/0] F2::^PgDn じゃないの? ってか、とりあえず流行らせるページひととおり読もうぜ
243 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/18(木) 21:49:21 ID:7JmYAkRj0] 「Ctrl+0にF1を」として書いてた・・・ 「Ctrl+0をF1に」なら F1::^0 だった 他の方も言ってるけどAutohotkeyを流行らせるページを見た? (主に関連する解説ページはウィンドウの指定方法、ホットキー、Remap)
244 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/18(木) 21:52:18 ID:SVpnwZUO0] >>241 Sendを使う Remapは修飾キーを離してくれないので それだとCtrl+F2が押されたことになっている
245 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/19(金) 00:10:42 ID:nmCnAcVn0] スレッド動作中に、ほかのキーが押されているかは「GetKeyState」で できますが、マウスのホイールが回ったかどうかを調べる方法は、ありますか? マウスの左右チルトを倒してスレッドを開始し、 そこでループさせながらホイールの上下入力を検知したいのですが、 ホイールの回転検出方法でつまずいてしまいました。
246 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/19(金) 00:46:58 ID:IlTer6q60] こんな感じか ~WheelUp::wheel:=1 ~WheelDown::wheel:=-1 WheelLeftl:: wheel = 0 Loop { ほげほげ If (wheel!=0) ふがふが } Return
247 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/19(金) 01:32:42 ID:nmCnAcVn0] >>246 ありがとうございます。うまくいきました。 なるほど、1スレッドにこだわるあまり、思いつきませんでした。
248 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/19(金) 01:47:13 ID:yGrRFejp0] #IfWinActive MozillaUIWindowClass F2:: Send ^ Send PgDn return これでも駄目だった・・・なぜかしらん?
249 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/19(金) 01:59:10 ID:pArZgo1w0] いいかげん解説くらい読んでくれ
250 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/19(金) 13:42:58 ID:567XQ0M40] >>248 ctrlとPgDn別々に押してるんだから動かなくて当然 あとSendのページ読めば{}やら,やら必要なのもわかるはず それと、なんで>>242 試してみないの?
251 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/19(金) 18:13:40 ID:fIAAihen0] まあ ahk_class 付いてない時点でウィンドウ判定に失敗してるんだけどな
252 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/19(金) 19:46:31 ID:yGrRFejp0] ここ2、3日騒いでいた者ですがなんとか設定できました。 F2::^PgDnで問題なくできました。 問題は、251さんの指摘しているところですw
253 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/19(金) 19:53:11 ID:YBCNr5+M0] もう二度とこないでね^^
254 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/19(金) 20:18:25 ID:hGBhDH/a0] >>226 ,227,228,233,234 自分>>178 なんですが、ロジのマウス使ったことないですがやっぱりShiftが押されっぱなしになりますね。 マウスドライバはMSの純正で、ボタン割り当てはAutoHotkeyのみでやってます。 LShift & WheelDown::AltTab LShift & WheelUp::ShiftAltTab だけで走らせてみたところ、LShift & WheelDown::AltTab でフォーカスを移したあと、マウスクリックで 元のウィンドウに戻ってくると、毎回 Shiftが押されっぱなしになることが分かりました。 TeraPadとJanedoeViewで確認。 LShift & WheelUp::ShiftAltTab では大丈夫みたいです。 マウスはサンワのTB38という5ボタンのトラックボール、メーカーのドライバを入れた前歴はありません。 キーボードがへたってるのかなあ
255 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/19(金) 20:29:17 ID:IlTer6q60] ■ キー押しっぱなし俺的まとめ ■ 症状 i) キーはCtrl や Shift が多い ii) 物理キー押下・押上で解除される 原因となっていそうなもの A) SetPoint(ロジクール製マウスユーティリティ) B) 窓使いの憂鬱(のどか) C) VMWare / VirtualPC A単独、もしくは (B または C) + デュアルコア以上のCPU ※ ソースは繭スレとか ---- 俺はCore2のPCにした時 B で一度なってAHKに完全移行(OS再インスト)で いったん無くなったけど、VMWareを入れて(C)再発した。 今はどちらも入れていないので特に問題は起きていない。
256 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/19(金) 20:59:14 ID:NFr4v0Hr0] 何分後に動作 とか 何時何分に動作 っていうタイマーってできないかな? 1分ごとに監視するのは無駄な動作が多い
257 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/19(金) 21:11:27 ID:NFr4v0Hr0] 何分後ってのはタイマーで指定すればいいだけか 時間指定できないかな
258 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/19(金) 21:24:32 ID:hGBhDH/a0] >>255 AとCは該当なし、Bは使った事ないですがChangeKeyで前変換とカタカナキーを殺していたのを思い出して リセットして再起動してみましたが駄目でした。自分もCore2DuoのE8400です。 OS再インストールするしかないのかな・・・ orz
259 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/19(金) 21:59:46 ID:RvBowY+q0] 結局これといった解決方法は無しかorz
260 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/20(土) 12:28:49 ID:Z+MpXoRr0] >>256 SetTimer,OnTimer,60000 return OnTimer: FormatTime,NowTime,,HHmm If (NowTime >= 0659) && (NowTime <= 0701) && (!Compleate) { Msgbox, 7:00になったよ Compleate := 1 } Else{ Compleate := "" } return 1分ごとに時間チェックするだけなら大した負荷にはならんと思うけど (どっちにしろどこかで何かしらが定期時間チェックする必要はあるので 自分でやるか、他人に任せるかの違いでしかないのだし) どうしても1分Timerが嫌なら単独スクリプトにしてOS標準のタスクスケジューラに登録したらいい
261 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/20(土) 14:09:37 ID:J9kUfX5s0] >>190 遅くなりましたが、動作確認できました。 > いづれ修正版を上げ直したくはあるんですが、色々手を入れたいとこがありすぎる 期待しています。 とりあえず WheelAccel.ahk に修正を加えてアップしておきました。 ttp://lukewarm.s101.xrea.com/up の 111.zip >>189 氏ともども、ご教示ありがとうございました。今後ともよろしくお願いいたします。
262 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/20(土) 16:45:22 ID:yzkbbsVb0] ソフトのタイトルの一部で判断し 各キーを対応させるにはどうすれば いいのでしょうか?
263 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/20(土) 16:48:52 ID:m9lSj1Vi0] 複数のキーボードを接続している状態で、特定のキーボードについてのみ キー配置のリマッピングを有効にする方法はあるのでしょうか。 Alphagripというイロモノキーボードを買ってみまして、AutoHotkeyで リマップして キー配置を変更したのですが、普通のキーボードも同時に 使っているので そちらは出来ればそのままのキー配置にしたいのです。 一応関数は探してみたつもりですがそれっぽいのが見つかりませんでした。
264 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/20(土) 17:46:05 ID:Kh84drTR0] >>262 SetTitleMatchMode と #IfWinActive >>263 ドライバレベルで対応出来るものじゃないと出来ない。無理。 テンキーなら ttp://ioenc.net/magickeypad/ で出来るけど、 でもこれもやっぱりドライバ置き換え。
265 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/20(土) 18:01:50 ID:yzkbbsVb0] >>264 レスどうも タイトルに AutoHotkeyというのが含まれてる場合 SetTitleMatchModeで指定するにはどうすればいいのでしょうか? #IfWinActiveの場合は、付属のソフトでahk_class○○といった 感じでできました。
266 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/20(土) 18:09:21 ID:m9lSj1Vi0] >>264 レスありがとうございます。やっぱ無理なんですか、残念。
267 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/20(土) 18:47:56 ID:Kh84drTR0] >>265 #IfWinActive などのウィンドウの状態を見てのキーアサインを振り分ける機能は Autoexec セクション内での SetTitleMatchMode コマンドの指定したやり方で判定をする (指定がなければ前方一致をデフォルトとする) 意味が全然分からないならスクリプトの「1行目」に以下を書く SetTitleMatchMode, 2
268 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/20(土) 18:57:45 ID:yzkbbsVb0] とりあえずテンプレのサイトにいって調べてみたら MatchMode タイトルのマッチ方法 1 前方一致(WinTitleで指定した文字列で始まるウィンドウが一致する)(高速)(デフォルト) 2 中間一致(WinTitleで指定した文字列を含むウィンドウが一致する) 3 完全一致(WinTitleで指定した文字列に完全に一致するものが一致する) こんなのを発見しました。 2というのとかの意味もわかりました。使い方自体は疑問ですが、 最初の行に書き込むことによって目的の動作ができるようになりました。 m(_ _)mペコッ
269 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/20(土) 19:19:19 ID:Z+MpXoRr0] ID:yGrRFejp0 = ID:yzkbbsVb0 だろ 264でヒントもらっといて 265みたいな再質問ってあり得ない 質問するなとはいわんが答えてもらった内容をちゃんと噛み砕いて飲み込む努力しろよ 調べる能力つけないとこのソフト使うのは難しいぞ
270 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/20(土) 19:58:07 ID:Kh84drTR0] 多少なりとも前進はしてるようだけど、調べる気がないのはちょっとな
271 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/20(土) 23:35:06 ID:yzkbbsVb0] そんな風にみえちゃんだろうけど相当検索し調べその結果ですw 調べ方が悪いのかしら・・・
272 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/20(土) 23:57:07 ID:LyIyydqb0] 調べ方も頭も態度も悪い
273 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/21(日) 01:19:42 ID:LY2SRQDx0] hoge.ahkが起動しているかを別のahkから調べる方法はありますか? プロセスがあるかで調べようと思ったのですがどれもAutoHotkey.exeで調べられませんでした
274 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/21(日) 01:34:59 ID:LCii9rhx0] >>273 もらいもの DetectHiddenWindows, On WinGet, ahk_id_list, list, ahk_class AutoHotkey Loop, %ahk_id_list%{ this_id:=ahk_id_list%a_index% WinGetTitle, this_title, ahk_id %this_id% msgbox, %this_title% } それか、AutoHotKey.exeをhoge.exeにリネームコピーしてhoge.ahkをhoge.exeに送れば問題なし。
275 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/21(日) 01:38:33 ID:gJSSJElb0] SetTitleMatchMode, 2 #SingleInstance, force DetectHiddenWindows, On WinWait, \hoge.ahk - AutoHotkey, , 0.1 DetectHiddenWindows, Off msgbox, % Errorlevel ? "ないよ" : "あるよ"
276 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/21(日) 01:46:22 ID:ylbkYADc0] コマンドラインを読む関数がどこかになかったっけ? それ使えばいいような
277 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/21(日) 01:53:22 ID:LY2SRQDx0] >>274-275 出来ましたありがとうございます
278 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/21(日) 03:28:19 ID:LY2SRQDx0] すみませんAHK連携絡みでもう二つ質問させてください。 あるAHKから起動中の別のAHK内の指定処理(ラベルなり関数)を実行させる最適な方法は何でしょうか? 起動中のAHK間の変数の受け渡しはファイル書き出し、読み込み以外で方法ありますか?
279 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/21(日) 04:22:12 ID:gUuxFMOa0] 隠し(じゃなくてもいいけど)GUI作って、ボタンを押す。パラメタ渡しは隠しGUIのEditとかに書く
280 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/21(日) 05:14:16 ID:gJSSJElb0] 関数ならAutoHotkeyをインストールしているディレクトリにLibフォルダを作って そこに入れておけばいいんじゃないかな 変数の受け渡しはクリップボードを軽油する方法もある。 一定間隔でクリップボードを監視し、特定の文字列から始まるなら 変数の受け渡しと見なし、変数に置き換えてやるとか。
281 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/21(日) 05:15:29 ID:gJSSJElb0] ;例えば特定の文字列を ahk9999999 とし、 ;クリップボードコピーする形式を ahk9999999,変数名,値 というにようにする。 ;下記スクリプトを実行中に ahk9999999,hoge,5 をクリップボードにコピーすると ;msgboxに hoge = 5 と表示。 #Persistent #SingleInstance, force hoge=1 ; テストで変化を確認するために初期値を 1 にしておく SetTimer, ClipBoardCheck, 100 return ClipBoardCheck: if(Instr(Clipboard, "ahk9999999")=1){ loop, parse, Clipboard, `, { if A_Index=2 hogehoge=%A_LoopField% else if A_Index=3 %hogehoge%=%A_LoopField% } Clipboard= ; クリップボードを空にする msgbox, %hogehoge% = %hoge% } return ;変数を渡す方のスクリプトはClipboardの内容のバックアップしておき、 ;Clipboardが空になったらバックアップしていたのを戻すようするといいかも。
282 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/21(日) 15:21:49 ID:ZMhX9OF60] >>279 仕組みは分かったのですがやり方が分かりません(´;ω;`) よかったら簡単な例を教えてください 試しにこういうふうに作ったのですがGUIがHideだからなのかクリックしてくれません 操作する側に ControlClick, Button1, HideControl 操作される側に GUI, Add, Button,,Exit Gui, Show, Hide, HideControl return ButtonExit: ExitApp >>280-281 なるほどクリップボードですか 接頭辞を決めておくというのは思いつきませんでした
283 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/21(日) 16:13:59 ID:gUuxFMOa0] >>282 操作側で DetectHiddenWindows,On
284 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/21(日) 16:33:39 ID:16cGC6mhP] 受け渡しなら、OnMessageとPostMessageでしょjk 英語公式のリファレンスに詳しいサンプルがある
285 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/21(日) 16:43:17 ID:ZMhX9OF60] >>283 早速試しましたが変化無しでした
286 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/21(日) 17:36:28 ID:gUuxFMOa0] >>284 まぁそれが普通だと思うけど、GUIのボタン押すのもあまり変わらないと思う ---- server.ahk ---- Gui, Add, Button,gSub1 Gui, Add, Edit, vParam Gui, Show,Hide, HiddenWindow Return Sub1: Gui, Submit, NoHide MsgBox, % Param Return ---- client.ahk ---- Gui, Add, Edit, vParam Gui, Add, Button,,Go Gui, Show Return ButtonGo: Gui, Submit, NoHide DetectHiddenWindows, On ControlSetText,Edit1,% Param, HiddenWindow ahk_class AutoHotkeyGUI ControlClick,Button1,HiddenWindow ahk_class AutoHotkeyGUI Return
287 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/21(日) 17:56:23 ID:16cGC6mhP] じゃあ、先に普通のやり方教えてあげなよw 余計なGUIリソース消費するし、コードの可読性や保守性を考えるとあまり一般的な解決法とも思えない
288 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/21(日) 18:09:32 ID:ZMhX9OF60] >>286 おー無事出来ました どうもありがとうございました >>284 やっぱりそっちのほうがいいんですかね でも英語読めないので諦めますw
289 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/21(日) 18:33:01 ID:gUuxFMOa0] 普通のアプリならそうすると思うけど、色々覚えなきゃいけないことが多いから AHKのコマンドだけで出来る事に意義はあると思うよ。 リソースったってたいしたことないよ。
290 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/21(日) 18:58:11 ID:16cGC6mhP] まあ、人それぞれだから好きにすればいい 一応OnMessageだってahkのコマンドだし、覚えるのが大変なのはGUI絡みだって同じだと思うけどね 文字列の受け渡しになるとちょいと面倒になるけど、数値の受け渡しならこの程度で済む --- receiver.ahk --- OnMessage(0x5555,"MsgHandler") MsgHandler(wParam, lParam, msg) { TrayTip,Receiver,Message %msg% arrived:`nWPARAM: %wParam%`nLPARAM: %lParam% } --- sender.ahk --- F12:: SetTitleMatchMode 2 DetectHiddenWindows On PostMessage, 0x5555, 11, 22, , receiver.ahk ahk_class AutoHotkey return
291 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/21(日) 22:46:25 ID:q3qyIN4s0] 人それぞれって言われたらそれまでだが、GUIはちょっとな AHKのGUI関連って無駄にイベントラベル増えるからコードぐちゃぐちゃになるし。 自分だったら窓表示する必要があってもGUIコマンドは可能な限り使いたくないな。 >>276 管理人さんのマウスジェスチャ2の中だな。hh.exeなんかからでもchmファイルのフルパス抜けるし便利だよ GetCommandLine(pid=0,WinTitle="A"){ if (!pid) WinGet,pid,PID,%WinTitle% ; kernel32\GetCommandLineA のアドレスへのポインタを設定? ptr:=(NumGet(DllCall("kernel32.dll\GetProcAddress",UInt,DllCall("kernel32.dll\GetModuleHandle",Str,"Kernel32"),Str ,"GetCommandLineA",UInt)+1)) ; プロセスのハンドルを取り出す hp:=DllCall("kernel32.dll\OpenProcess",UInt,0x001F0FFF,UInt,0,UInt,pid,UInt) VarSetCapacity(res,1024) ; GetCommandLineのメモリアドレスを取得してからコマンドライン文字列を取得 DllCall("kernel32.dll\ReadProcessMemory" ,UInt ,hp ,UInt ,ptr, UIntP,addr ,UInt ,4 ,UInt ,0) DllCall("kernel32.dll\ReadProcessMemory" ,UInt,hp ,UInt,addr ,Str,res ,UInt,1024 ,UInt,0) DllCall("psapi\CloseProcess", UInt,hp) return res }
292 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/21(日) 23:48:05 ID:ZMhX9OF60] >>290 これはスマートでいいですね 使わせてもらいます
293 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/22(月) 02:55:22 ID:9141GuF00] >>200 この方法ではNumpad0,Numpad6,Numpad1に割り当てできなくなります。 何とかなりませんでしょうか?
294 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/22(月) 03:00:20 ID:2F0zdoiY0] キーを押し続けている間連続で加速しながら処理 プレイヤーのシーク操作やボリューム操作など Left:: sleepTime := 80 ;初期待ち時間 While GetKeyState("Left","p") { send, {Left} ;任意処理 sleep, %sleepTime% sleepTime := sleepTime > 20 ? sleepTime * 0.95 : 20 ;加速 }
295 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/22(月) 22:47:42 ID:Qq8KUG5Y0] AHK使い始めたばかりなんですが、ウィンドウタイトルの無いウィンドウを 操作するのはどうしたらいいでしょうか? 具体的にはnovolization.hp.infoseek.co.jp/pro.html#ao のMovieOperatorを 操作したいんですが。自分ではウインドウタイトルが無いとマウスで絶対座標指定して いちいちクリックとかしか考え付かないです。 ちなみに前はUWSC使ってました。こいつでもウィンドウタイトルが無いとどうにもならなかったんで ツール変えてみようかと思い立ったわけなんですが…
296 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/22(月) 23:08:50 ID:HdFC8Trn0] ウィンドウクラスとプロセス名(PID)で絞り込みかなl Process, Exist, MovieOperator.exe IfWinExist,ahk_class #32770 ahk_pid %ErrorLevel% { ; ここにウィンドウ操作 ControlGetText, text, ComboBox1 MsgBox, % text }
297 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/22(月) 23:35:44 ID:Dlle25nB0] >>>>>>>>>>( Window Title & Class )<<<<<<<<<<< JPG2AVI ahk_class Afx:00400000:b:00010011:00000006:0594124D AU3_Spy.exeで見ると普通にウィンドウタイトル取れてるみたいだが。 これで操作できないんか?
298 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/22(月) 23:40:34 ID:Dlle25nB0] ってスマソ、思いっきりソフト間違えとる。
299 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/22(月) 23:41:31 ID:Jnu5lPCA0] JPG2AVI じゃなくて MovieOperator じゃないの? ウチの環境でMovieOperatorをAU_Spy.exeで取得してみたけど タイトル無しの ahk_class #32770 だったよ
300 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/22(月) 23:57:31 ID:Qq8KUG5Y0] >>296 ありがとうございます。PIDで取れました。 これで色々操作するめどが立ちます。
301 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/23(火) 00:15:03 ID:ZOyW9r5y0] 先の質問とは関係ないですがエディタにサクラエディタ使ってる人居ないですかね? キーワード定義既存のがあったら欲しいです…
302 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/23(火) 01:08:54 ID:K2VHacbK0] >>301 昔どこかで拾ったんだよなあ。再びググったが見付からず。 黙ってあげてみるが、明日の昼には消す。 ttp://aaabbbccc.s6.x-beat.com/upload/src/up26358.zip
303 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/23(火) 02:46:42 ID:ZOyW9r5y0] >>302 ありがとう。頂きました。
304 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/23(火) 13:43:55 ID:WplNcnsp0] コントロールのウィンドウハンドルからClassNNを取得するにはどうすればいいんでしょうか
305 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/23(火) 15:41:53 ID:4VER+fnU0] 最近使い始めたばかりなのですが ttp://hp.vector.co.jp/authors/VA044605/resp.html このRespというソフトとの連携がうまくいきません IfWinExist, RESp { WinActivate, RESp ControlFocus, TButtonEdit1 ControlSetText , TButtonEdit1, %1% Send, {ENTER} return ;サブルーチンを終了 } Run, Respのぱす WinWait,Resp WinActivate, RESp ControlFocus, TButtonEdit1 ControlSetText , TButtonEdit1, %1% Send, {ENTER} return ;サブルーチンを終了 ソフトが立ち上がっている場合はうまくいくのですが立ち上がってからの検索ワードが渡りません よろしくご教授のほどお願いします。
306 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/23(火) 15:58:32 ID:uY1EeqKp0] うまく動かないときは、適当にスリープを噛ませると、動く場合がある 検証してないけど↓はサンプル。 ControlFocus, TButtonEdit1 sleep,100 ControlSetText , TButtonEdit1, %1% sleep,100 Send, {ENTER} 動けば、徐々にsleepの値を小さくしていけば、おk
307 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/23(火) 16:19:32 ID:4VER+fnU0] Sleepかましてやってみたんですが10秒 5秒 1秒 でも Resp起動→スクリプト→検索はうまくいくのですが スクリプト→Resp起動→検索は起動はするのですが検索ワードがわたりません 二度手間になりますが起動はするのでこのまま使用して また時間のあるときにいじることにします。 ありがとうございました。
308 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/23(火) 16:42:43 ID:63qINAR80] × WinWait,Resp ○ WinWait,RESp
309 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/23(火) 18:31:10 ID:4VER+fnU0] いけました。大文字と小文字で違うんですね。勉強になりました。 RESPで検索=D:\〜\AutoHotkey.exe "D:\〜\RESp\Resp_SelecitonSearch.ahk" "$TEXT$LINK" Janeからこんな感じで使ってます ありがとうございました。
310 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/27(土) 16:12:17 ID:kilshKVq0] アクティブウィンドウの枠に色をつけたいです。 Progress / SplashImage使えばいいんですかね? 方法を教えてください。
311 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/27(土) 16:19:28 ID:TU1fJsoo0] アクティブウインドウの大きさを調べて、 それより少し大きいGUIを作って、背景の色を変えればいいだろう そのやり方を教えてってことなら、勉強するしかない
312 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/27(土) 20:43:29 ID:mjW9CgOJ0] 画面のプロパティで出来るだろ
313 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/28(日) 02:43:19 ID:H2leh/Na0] 下のように設定するとAlt+AでもHomeキーが押されたことにるんだけど Alt+AのときにはCtrl+Aが押されたことにするにはどうすればいいですか? ^A::send {Home} !A::send ^a
314 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/28(日) 03:18:30 ID:gb9fK4qR0] >>313 >>4 A7
315 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/28(日) 04:45:22 ID:H2leh/Na0] >>314 サンキュ。うまくいきました
316 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/29(月) 22:45:37 ID:e/W0qJft0] ahkでFizz-Buzz問題の解答ください www.aoky.net/articles/jeff_atwood/why_cant_programmers_program.htm
317 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/29(月) 23:09:18 ID:roKbqfx60] 読んでみたけど、これってフィクションだよね? ド素人の自分でもわかるのにプログラマ志望の人が分からないとか・・・
318 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/29(月) 23:57:56 ID:yHCDc8410] loop,100{ tr++ fi++ tr:=tr=4 ? 1:tr=3 ? "Fizz":tr fi:=fi=6 ? 1:fi=5 ? "Buzz":fi valu:=tr="Fizz" && fi="Buzz" ? "FizzBuzz" : tr="Fizz" ? "Fizz" : fi="Buzz" ? "Buzz" : A_Index MsgBox,%valu% } Return こんなんでいいのかな?
319 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/29(月) 23:58:11 ID:CtyaNjiT0] ttp://rosettacode.org/wiki/FizzBuzz#AutoHotkey
320 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/30(火) 00:03:39 ID:j31Q4+5v0] >>318 わかりづらいから駄目。 と言ってみる(´-ω-`)
321 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/30(火) 00:13:58 ID:T80ICC0z0] if mod(a_index,3)=0 {うんたら} if mod(a_index,5)=0 {かんたら} で適当に分岐させればいいんじゃないの
322 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/30(火) 00:17:09 ID:p76oAck30] こんな感じか Loop,100{ a := (!Mod(A_Index,3) ? "Fizz" : "") . (!Mod(A_Index,5) ? "Buzz" : "") msg .= (!(a) ? A_Index : a) . "`n" } msgbox %msg% >>317 プログラマ「志望」なら案外そんなもん。 趣味でフリーソフト作ってるような人ばっか応募してくるわけじゃない。 シーケンスの基本概念なんて実務でもやってなきゃ案外頭に入ってないもんだよ。
323 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/30(火) 00:18:37 ID:MqDPxJU80] こんなの? Loop,100 Fizz:=Mod(A_index,3) , Buzz:=Mod(A_index,5) , output.= (Fizz = 0 && Buzz = 0) ? "FizzBuzz'n" : Fizz = 0 ? "Fizz'n" : Buzz = 0 ? "Buzz'n" : A_index "'n" MsgBox, %output% output =
324 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/30(火) 00:22:04 ID:T80ICC0z0] みんな可読性わるすぎw 大括弧だけで1行 1命令1行 を徹底してる俺は異端なのか・・・
325 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/30(火) 00:35:09 ID:j31Q4+5v0] MsgBox, 1 MsgBox, 2 MsgBox, Fizz MsgBox, 4 MsgBox, Buzz MsgBox, 6
326 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/30(火) 00:36:33 ID:rzfPOy180] 俺の頭の悪さに絶句・・・ Loop 100 { outLine := A_INDEX Loop 3 { check := outLine if A_INDEX = 1 subVal = 15 else if A_INDEX = 2 subVal = 5 else if A_INDEX = 3 subVal = 3 Loop { check := check - subVal if check < 0 break if check = 0 { if subVal = 15 outLine = FizzBuzz else if subVal = 5 outLine = Buzz else if subVal = 3 outLine = Fizz break } } } FileAppend, % outLine . "`n", %A_ScriptDir%\FizzBuzz.txt }
327 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/30(火) 00:40:37 ID:xs+OUAE+0] Loop,100 { If Mod(A_Index,3)=0 value=Fizz If Mod(A_Index,5)=0 value=%value%Buzz If value= value=%A_Index% Msgbox,%value% value= } これで最後にして寝よう。なかなかおもしろかったー。
328 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/30(火) 00:47:38 ID:j31Q4+5v0] まあ、基本形はこれで Loop,100{ if !Mod(A_index,15) MsgBox, FizzBuzz else if !Mod(A_index,3) MsgBox, Fizz else if !Mod(A_index,5) MsgBox, Buzz else MsgBox, % A_index }
329 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/30(火) 00:48:16 ID:EZ0ubY2h0] 考え方としては 3で割り切れるなら[Fizz] 5で割り切れるなら[Buzz]と表示 どちらでも割り切れないなら数字を表示 改行 だな
330 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/30(火) 00:51:54 ID:T80ICC0z0] >>319 ↓懐かしすぎて涙が出た FOR A = 1 TO 100 IF A MOD 15 = 0 THEN PRINT "FizzBuzz" ELSE IF A MOD 3 = 0 THEN PRINT "Fizz" ELSE IF A MOD 5 = 0 THEN PRINT "Buzz" ELSE PRINT A END IF NEXT A ↓Perl。さすが変態 sub f { $_[0] % $_[1] ? '' : $_[2] } print f($_, 3, 'Fizz') . f($_, 5, 'Buzz') || $_, "\n" foreach 1 .. 100;
331 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/30(火) 11:22:41 ID:ZWlKlVyy0] SHIFT+カーソルの範囲選択を SHIFT+無変換+IJKLでやる書き方って出来る? 三つのコンビネーションって指定できないっぽいんだけど
332 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/30(火) 11:45:52 ID:z7lSMuFpP] 通常のカーソル移動も兼ねて良いのなら ~SC7B & i:: Send, {Blind}{Up} ~SC7B & j:: Send, {Blind}{Left} ~SC7B & k:: Send, {Blind}{Down} ~SC7B & l:: Send, {Blind}{Right}
333 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/30(火) 16:39:04 ID:gVhvA3S20] 今更ながら>>63 と>>76-77 を試したんですが、これすごい良いですね。 自分は単なるリマップとマクロにしか使ってなかったので、こんな事も 出来るのかと驚きました。
334 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/30(火) 21:34:48 ID:WurnbeTc0] >>332 うまくいった。ありがとう。 キーボード眺めてたら変換キーが丸々あいてるんだよな。 JKでタスク切り替え、残りのA-Zをランチャなんかに割り当てたら めちゃくちゃ便利そうな気がしてきた。
335 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/30(火) 23:43:51 ID:hpTcuIjN0] ひらがなキーを押したときの動作を key stroke and script info で見てみたら ひらがなキーがなぜか押上されることが解りました この不具合?を解消するにはどうすればいいのでしょうか
336 名前:名無しさん@お腹いっぱい。 [2009/07/01(水) 02:28:14 ID:JH7gYY9R0] ∧∧∧∧∧∧∧∧∧∧ ___/ ̄ ̄ ̄\ < ┌┐ ┌───┐ > / / / ̄ ̄ ̄ ̄\ < ││ │┌─┐│ > /  ̄ \ < ││ └┘ // >/ □ \ < ││ // >// ̄~\ / ̄ ̄ ̄\ | < ││  ̄ >|//\ヽ ∨〃/\ \ /\ < ││ _ >//(・) \ゞ/ /(・) 〉 | | ∩| < ││ // >| \_/ノ \_/ ノ し|: | ∪| < ││ / | >l:::::::::∠~ ⌒ | \/ < ││ //|| >|:::::::::r〜〜‐、ヽ / / < ││  ̄ || >|:::::::::)jjjjjjjjjjjヽヽ / / <  ̄  ̄ >|:::::::::|,, || / / <. ロロ┌┐┌┐┌┐ >!:::: ヽiiiiiiiii// / / < ┌┘│││││ >ヽ ヽ〜〜"/ / <  ̄ ̄ └┘││ > ヽ、__,,,_∠__/ < ┌┐┌┐ ││ > _]::::::: [_ < ││││ // > ̄~ ゙ ̄ ̄ ̄ ̄ヽ < ││││  ̄ > ,〜ヽ < └┘└┘ > 〜 ノ ̄\ < [] [] > ’ノ⌒⌒⌒⌒〉〉 ∨∨∨∨∨∨∨∨∨∨∨ { Y∫
337 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/01(水) 11:19:06 ID:qaOF2plA0] 2バイトコードの処理方法で質問です。 TV録画用途のPCで、テレビ番組名をINIファイルのセクションに割り当てて、 いろいろ自動処理しています。 INIコマンドで、セクションに使ってはいけない文字(たとえば括弧「[」「]」) が入ると、INI自体は書けるものの、同一のセクションに書いてくれなかったり、 セクションを正しく読めないなどの不具合が出ます。 とりあえず、使ってはいけない特定の文字をアンダーバーに置換してみました。 name := RegExReplace(name,"(\.|\*|\?|\+|\[|\]|\{|\}|\||\(|\)|\^|^$|\\)","_") 成功 前 [道徳ドキュメント[再]] 後 [道徳ドキュメント_再_] 失敗1 前 [スパイスTVどーも・キニナル!] 後 [スパイスTVど\も・キニナル!] 失敗2 前 [暴れん坊将軍[再]] 後 [棒れん坊将軍_再_] これって2バイトコードが1バイトずつ処理されてるのが原因っぽいですね。 2バイトコード部分に混入する文字は無視し、1バイト部分だけ置換したいのですが、 なにかうまい回避策はないでしょうか。