1 名前:ぬるぽ mailto:sage [2007/07/16(月) 12:30:27 ID:cd0T6xfs0] (テンプレ>>1 ) ■公式 www.autohotkey.com/ ■解説 AutoHotkeyを流行らせるページ lukewarm.s101.xrea.com/ ■過去スレ 1 pc7.2ch.net/test/read.cgi/software/1098531338/ 2 pc7.2ch.net/test/read.cgi/software/1129836713/ 3 pc11.2ch.net/test/read.cgi/software/1157043396/ 関連リンク>>2 以降も参照
175 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/27(金) 18:40:57 ID:PAXwVryZ0] ここにサンプルあるから熟読の上、消えろ。 lukewarm.s101.xrea.com/commands/Gui.htm
176 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/27(金) 18:45:28 ID:Wb8USncd0] 173へ。オマエのいっていることをわかりやすく翻訳すると、 >>172 レス Thanks. でも、172が書いてるようなことはオレにだってわかってんだよ。 コピペで使えるようなヤツよこせよ。 ってコトだよね。 172の親切心には本当に頭が下がるが、バカはスルーして欲しい。
177 名前:名無しさん@お腹いっぱい。 mailto:age [2007/07/27(金) 18:54:21 ID:h/LH+PTl0] 相変わらず糞スレだな。親切な人が出てきたら教えんな だ。 >>174-176 氏ねよ
178 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/27(金) 18:58:34 ID:J57tr6qSO] 丸投げしておいてレスが返ってきたら、 「そんなことは解ってるわ」ってか。そんな後出しの仕方があるか どこまでやってどっからわからんのか最初からちゃんと書け。横着すんな あと丸投げすんな。自力での努力の跡が見えない奴に親切なレスがつくと思うな
179 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/27(金) 19:05:42 ID:rYUMwn000] 最近のやつらはどこから流れてきたんだ? ttp://oshiete.new-akiba.comここか?
180 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/27(金) 19:35:27 ID:3EIrthLf0] >>172 smartgui みたいな RAD ツールを使った方が早くね?
181 名前:172 mailto:sage [2007/07/27(金) 20:44:59 ID:d96Jk71r0] >>161 私自身AHK初心者ですが、>>175 さんの示されているURL見て 1時間くらい試行錯誤したらできました。 >>178 さんの仰られているように、どこで詰まっているのかを 明示された方が良いと思います。 私がレスした内容の1・2・3のどこで躓いていますか? >>176 すいません。 以後気をつけます。 (またレスつけていますが・・・) >>180 SmartGuiの事初めて知りました。 確かに早いですね。 でもイベントは自分で記載しないといけないので、あんまり変わらない気もします。 教えていただきありがとうございます。
182 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/27(金) 22:03:34 ID:L0CdusDD0] >>173 いいからその試行錯誤したコードを晒してみれ それともアホがバレるのが怖くて出せないのか? 恥をかくのは嫌、でも質問には答えて欲しいって どんだけムシがいいんだよ
183 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/27(金) 22:11:08 ID:rYUMwn000] ひとりでなに話すすめてんだよ>>182
184 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/27(金) 22:48:17 ID:e3g8BxL30] Gui, Add, Text, , バックアップ元 Gui, Add, Button, gExec x600 vTarget, 参照 Gui, Add, Edit, xp-590 yp0 w450, %source% Gui, Show return Exec: FileSelectFolder, source, , , バックアップ元フォルダの選択 Gui, Submit, NoHide return こんな感じです。 これだと FileSelectFolderで選択したフォルダのフルパスが 変数sourceに入って それをGui, Add, Editの引数に与えてやってデフォルトとして表示させてやろうと 思ったのですが、表示されません。 3行目を Gui, Add, Edit, xp-590 yp0 w450, %Target% と書き換えても表示されません。根本的なところで理解してないと思いますので (これでも流行らせるページのGuiのページの自分が使うコマンドの説明は読んだ) サンプルコードを書いて頂ければ、そのコードを見れば勉強になると思ったのですが・・・
185 名前:172 mailto:sage [2007/07/28(土) 00:58:17 ID:WO+luJq50] >>184 3行目の Gui, Add, Edit, xp-590 yp0 w450, %source% は、 Gui, Add, Edit, xp-590 yp0 w450 vsource, とすればいいのではないかと。 Optionの”v”はEditの中身にアクセスする時の名称となります。 参照ボタン押した時の動作は Gui, Submit, NoHide ではなく GuiControl ,, source , %source% とすればEditに表示されるはず。 最初のsourceはEditを追加する時に”v”で指定した変数名 %source%はFileSelectFolderで使用しているsource。 私としては気持ち悪いので後者のsourceはValか何かに変更します。 Gui, Submit, NoHide ですが使用するのは最後に手入力等の入力している Editの値を”v”で指定した変数に反映する時に使用します。 後は流行らせるページを見て頑張って下さい。 ;;内容違っていたらつっこみお願いします。
186 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/28(土) 02:17:34 ID:D+qW0WiS0] コードを書いた方が良いのか分からないから一つだけ。 パーツの位置はEdit,Buttonの順で書けばButtonにx+5だけでおk。 …初めからこの流れだと文句も出なかっただろうに。
187 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/28(土) 04:09:31 ID:dHVLe7Sl0] そういえば、GUI 使うと強制的に SingleInstance になる制限がウザったい。
188 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/28(土) 04:31:52 ID:aDaHwu500] >(これでも流行らせるページのGuiのページの自分が使うコマンドの説明は読んだ) >サンプルコードを書いて頂ければ、そのコードを見れば勉強になると思ったのですが・・・ てめぇの都合なんか知るか
189 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/28(土) 10:28:33 ID:cl0gqG/90] うん、やっぱり失敗なら失敗でも良いから、ちゃんとコードを 書いてくれた方が話が具体的になって良いよね。
190 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/28(土) 10:32:49 ID:yPkys66F0] >>189 建設的ですね。 どんどん、恥をさらしていきましょう。
191 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/29(日) 11:36:21 ID:6mvs1Apn0] 本日の成果 FormatTimeとif文で、文字列が日付として成立しているかを調べる事に成功。 クリップボードへの代入が安定せず弱っていたが、試行錯誤の末 Sleep 100 を挿入したところ、期待した動作をするようになった。
192 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 12:28:11 ID:cjDXOb330] いいかげんにしてください
193 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 12:46:18 ID:UhYDhuDJ0] 参考になるからどんどんやってくれ。 でも、スクリプトを晒してくれ!
194 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 13:54:00 ID:wU4m5htlP] >>191 日記はよそでやれ
195 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 19:30:40 ID:nxS1+g9g0] しかしここまで日記らしい日記も珍しいなwww
196 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/29(日) 22:22:32 ID:Ml/08NKH0] 流石にここで日記書かれるのはなぁ つかブログでコードと一緒に公開汁>191 他者にとっても参考になりそうな内容なら次回からテンプレに入れてもらえるであろ
197 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/30(月) 00:32:21 ID:VMGIk8MS0] スクリプトも一緒に張ってあるなら参考になるし問題は無いと思うけどな
198 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/30(月) 07:31:35 ID:tzXgBz9P0] じゃあ、今日は>>191 がコードを貼ってくれる事に期待しようか
199 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/30(月) 12:36:24 ID:Fhb+aZ990] あえてコードを貼らないのは教えて君への導入ヒントのつもりなんだろう だが教えて君はログなんか読まずに質問してくるけどな。
200 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/30(月) 13:44:18 ID:+SM+fAsJ0] 教えて君も日記もいらんですたい
201 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/30(月) 15:47:37 ID:gIhGVgw10] 面白い使い道とか教えてくれたら万人の利益になるよ。
202 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/30(月) 16:17:31 ID:H3hKkc8G0] とある特定のソフトが定期的にポップアップを出してきます。 「更新完了、再起動が必要です。今すぐ再起動しますか? はい いいえ」 みたいな。 AHKを常駐しておいてそれが出てきたら即効でいいえを選んでくれるようなの作りたいのですが それを作るにはやっぱり5分に1回とか定期的にチェックさせるしか無いですかね? で、無限ループ構造で。 Loop { IfWinExist, 再起動ダイアログ { WinActivate, 再起動ダイアログ Sleep, 100 Send, {Alt Down}n{Alt Up} } } こんな感じに書いているのですがどうすればいいのかよく分からなくなってきました。
203 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/30(月) 16:58:31 ID:h2DuVdvt0] Autohotokey.exe script.ahk -hoge とか Script.exe -hoge みたいに、ahkのままのスクリプトやExeにしたスクリプトに起動時に引数を渡したいんですが、 それをAutohotkey内で取得できるんでしょうか。 この場合、スクリプト内で-hogeが欲しいんですが。
204 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/30(月) 17:03:56 ID:GGVO5h+R0] 書き方はいろいろあると思うけど いずれにせよ監視してなきゃ検知出来ないでソ 漏れなら特定のソフトを起動させるときにスクリプト経由で起動させて そのままそいつを常駐させて、そのソフトのプロセスがなくなったらそいつも終了するとか そんな感じにする
205 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/30(月) 17:07:01 ID:GGVO5h+R0] >>203 ttp://lukewarm.s101.xrea.com/Variables.html
206 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/30(月) 17:07:18 ID:syj/0K2a0] Loop, %0% { t := %A_Index% MsgBox, %t% }
207 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/30(月) 19:15:37 ID:s7GpueSNO] >>202 SetTimer使え
208 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/30(月) 20:00:10 ID:tzXgBz9P0] >>207 お前頭いいなー
209 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/30(月) 20:13:56 ID:H3hKkc8G0] SetTimer使うにしてもLoopで定期的に実行させるにしても "Windowが現れた瞬間に(1秒後ぐらいに)即効でAlt+Nを送出していいえを選択させる" みたいな処理は出来ませんよねえ。やろうとしたら1秒か2秒感覚毎に監視しないといけないから かなり負荷が高そう。だからって5分毎に監視とかやると負荷は減るけど 5分たった>チェック=Windowなし、5分待機 ってなった次の1秒後ぐらいに Windowが現れたら、4分59秒後までチェックが行われないから最大で約5分程度そのWindowは 放置される事になる。これだとユーザの手で手動でいいえを選択してWindowを閉じちゃった方が 速いからスクリプト常駐している意味が無くなる。難しいなぁ〜。 フォルダ監視等の監視ソフトってどういうロジックで動かしているんだろう・・・。
210 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/30(月) 20:17:16 ID:mqyHgS9Y0] グローバルフック でぐぐれ。
211 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/30(月) 20:22:02 ID:h6nZAiyP0] WinWait
212 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/30(月) 20:29:15 ID:H3hKkc8G0] >>210 情報ありがとうございます。 グローバルフックっていう"Windowsがアプリケーションへ送るメッセージを監視するもの"がある 事は分かりました。仮に>>211 のWinWaitもそういう類のものだとして、 利用者はそういうものがあるんだと思ってそれを使うだけで目的は達成できると思いますが、 そのグローバルフックのアルゴリズムってどうなってるんでしょうね? 内部でどういう処理をしているのか気になったりはしませんか? グローバルフックっていってもCで言う関数、Javaで言うメソッドみたいなものでしょうから 中は既存の物だけで作りこまれていると思うんですが・・・。
213 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/30(月) 20:31:04 ID:H3hKkc8G0] すみません。スレ違いですね。 大体そんな事言ってたら じゃあ C言語の printfってどういう風な仕組みで画面にメッセージを表示しているの?っていう レベルからになりますし・・・。>>212 のレスは無視して下さい。すみません。
214 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/30(月) 20:41:11 ID:CpiTaIJd0] >>212 何がいいたいのかよくわからないが、Global hook は OS の機能なんだから、 OS がメッセージ送信するときに Global hook chain に登録されている hook を呼び出してるだけだろ?
215 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/30(月) 21:37:14 ID:x5n6TWnY0] 1秒2秒で廻してもそんなに負荷かからんけどな。 処理が発生するのは目的のダイアログがある時だけだし、あってもSend何発か投げるだけだし。 ちなみに自分の場合はこんな感じ init: SetTimer,tm_Diarog1,500 return tm_Diarog1: ;Beckyの メッセージアラートを自動Close IfWinActive ,Message from Becky!,この添付書類は、実行ファイル、 Send,y IfWinActive ,Message from Becky!,以下のURLが指すWebサイトに接続しようとしています。 Send,y return
216 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/30(月) 22:12:44 ID:mqyHgS9Y0] ポーリングループは良くないアルゴリズム。
217 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/30(月) 22:15:25 ID:CpiTaIJd0] >>216 その根拠は? kernel レベルや組み込み分野ではポーリング使うのは普通だぞ?
218 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/30(月) 22:17:35 ID:+SM+fAsJ0] んなことより Diarog につっこめよ
219 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/30(月) 23:29:29 ID:mqyHgS9Y0] そういう階層の話はしてないし。
220 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/30(月) 23:44:14 ID:x5n6TWnY0] Dia"l"ogですな orz
221 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/31(火) 02:05:20 ID:6k+15W7Q0] AHKだけでグローバルフックとか無理じゃないのか?
222 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/31(火) 02:35:52 ID:A7QlbhLb0] SetTimerでIfWinActiveをチェックするのなんてほとんど負荷なしに等しいよ。 最短の10msでもいいんじゃねぇ?
223 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/31(火) 03:20:35 ID:ucO6fDJ80] >>219 脳内ソースかよ
224 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/31(火) 10:56:57 ID:cqpB0ZDL0] アプリケーションのレベルでポーリングループが出てきたら ほぼ設計ミスと言って良い。8割方代替手段がある。 ポーリングループがパフォーマンスの観点で良くないのは常識だろ。 出来るだけ避けるべし。
225 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/31(火) 12:29:22 ID:X6zGUH5K0] ループでもキーフックとの共存は可能だし、Sleep入れれば張り付きは避けられる でも同一スクリプト内で複数のループを平行して動かすことは出来ないし AHKではせっかくTimer用意してくれてるんだからそっち使うほうが楽じゃね?
226 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/31(火) 15:35:32 ID:LQm7vXkr0] フリーのウイルス対策ソフトウェア Avast!の自動更新を有効にしている場合に しょっちゅう「再起動しますか?」とダイアログで聞かれるのを自動でいいえと答えて閉じる スクリプトが完成しました。 #Persistent ;スクリプトを常駐状態に SetTimer, Lbl, 2000 Lbl: IfWinExist, avast!: オペレーティング・システムの再起動が必要 { WinActivate, avast!: オペレーティング・システムの再起動が必要 WinWaitActive, avast!: オペレーティング・システムの再起動が必要 Sleep, 100 Send, {Alt Down}n{Alt Up} } こんな感じ。SetTimerを教えてくださった方ありがとうございました。 ところで、これ3行目(Lbl:の1行上)に制御を戻す事は不可能なのでしょうか? SetTimer, Lbl, 2000 MsgBox, 制御が戻った Lbl: ;処理を書く ↑こういうスクリプトがあったとしたら、無限に2秒毎にLbl:以下を実行し続け、2行目のMsgBoxが 1度も永久に実行される事が無いですよね?コレを実行させるにはどうすればいいのでしょうか?
227 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/31(火) 16:09:49 ID:XKNncdyU0] WinWait Return
228 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/31(火) 16:23:20 ID:gpaQklib0] AHKのスクリプトに精通している人はちょっと尊敬するわ。
229 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/31(火) 18:25:06 ID:f8EcCtIoO] なんかいろいろわかってなさそうだが、とりあえずサブルーチンの前後にRetun入れろ 話しはそれからだ
230 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/31(火) 19:38:17 ID:LQm7vXkr0] >>229 SetTimer, Lbl, 2000 MsgBox, 制御が戻った return Lbl: ;処理を書く return こういう事?
231 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/31(火) 20:15:13 ID:6N1PNkmc0] >>205 ありがとう
232 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/07/31(火) 21:58:14 ID:gpaQklib0] こんな使い方も。 www.nikoli.com/ja/misc/autohotkey.html
233 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/14(火) 16:56:48 ID:qNJw2gH40] DllCall("WindowFromPoint", Int, x, Int, y, UInt)という関数で 相対座標で座標を指定したいのですが、どうやればいいんでしょうか?
234 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/14(火) 17:03:56 ID:0RlyL1gT0] >>233 そもそもそれじゃ引数が違うから呼び出せないんじゃ?
235 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/14(火) 20:12:17 ID:qNJw2gH40] >>234 サンクス!よく分からずXとYだけ変えて使ってました 絶対座標専用なんですね
236 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/14(火) 20:29:35 ID:0RlyL1gT0] あ、ごめん、WindowFromPoint は PPOINT 型じゃなくて、 POINT 型の引数なのか。 やっぱ >>233 で合ってるわ。 相対座標ってどこからの相対なのかわからないけど、 スクリーン座標系からクライアント座標系に変換するには、 hwnd = WindowFromPoint(pt); ScreenToClient(hwnd, &pt); みたいに書けばいいんじゃない?
237 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/14(火) 20:42:06 ID:ngoXC/ha0] 2kで個別のアプリのCPU使用率を取得する方法はないでしょうか? 流行らせるページのスクリプトはXP以降にしか対応してないみたいでダメでした。
238 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/14(火) 22:06:54 ID:qNJw2gH40] >>236 ありがとう! でもそこら辺にあるスクリプトを継ぎ接ぎしてるだけのおいらにはムズイw
239 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/15(水) 04:39:00 ID:4rjZGnCz0] 質問があります。 海外ソフトで使うスクリプトを作ってます。 ~キーを押す必要があるんですが日本語キーボードに対応してないので 日本語キーボードだと@キーを押すことになります。 こういう場合に英語キーボードで~を押したことにするにはどうしたらいいですか?
240 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/15(水) 15:52:17 ID:W8Jf/qg+0] >>239 日本語でおk
241 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/15(水) 17:59:37 ID:3haFl8pw0] ~キー出力は、JP106キーならShift+^、US101キーならShift+`なんだが…
242 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/16(木) 00:03:43 ID:bw53sfnn0] なにいってんのかわかんないけど jp106キーボードでUSドライバ使ったりすると shift+半角で~出るよ。
243 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/16(木) 02:35:52 ID:oDhmkhIm0] lukewarm.s101.xrea.com/commands/_InstallKeybdHook.html 上のページを読み、 「無条件でキーフックを有効にする」というのを有効にしたところ、 キーフック機能が常駐してしまい、無効にすることができなくなりました。 ExitAppを使えばよいと書いてありますが、 具体的な記述がわからず色々組み合わせてみましたが無理でした。 自分では打開できそうにありません。 誰か分かる人がいたら教えてくださいませ。
244 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/16(木) 02:53:57 ID:yzJZJ0l/0] ワロタwwwwwwww
245 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/16(木) 03:55:49 ID:Y//SIsXz0] >>243  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄」 ―――――――――――――‐┬┘ | ____.____ | .__ PCを | | | | |\_\ 窓から | | ∧_∧ | | | |.◎.| 投げ捨てろ | |( ´∀`)つ ミ | | |.: | | |/ ⊃ ノ | | .\|.≡.|  ̄ ̄ ̄ ̄' ̄ ̄ ̄ ̄ |  ̄
246 名前:243 mailto:sage [2007/08/16(木) 06:19:27 ID:oDhmkhIm0] 243なのですが、解決しました。 「特定のホットキーを登録していれば、自動的にフックは有効になる」 ということがlukewarm.s101.xrea.com/commands/KeyHistory.html こっちの方のページに書いてありますね、 それを見落としたばかりに、つい混乱してしまったみたいです。
247 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/16(木) 17:30:04 ID:koSg/3pj0] Diablo2.ahk誰か早く
248 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/21(火) 20:19:34 ID:EL1WKe0y0] スクリプト走らせる度にAutoHotkeyのプロセスが増えるんですが仕様ですか?
249 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/21(火) 20:36:24 ID:OI80Iptb0] 仕様です というか当然です
250 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/22(水) 00:07:32 ID:qOJxaKKH0] d
251 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/22(水) 04:09:23 ID:SD01+S/A0] 一つのプロセスで複数のスクリプトを別の名前空間で走らせられたら 他人の作ったスクリプト利用しやすくなりそう。
252 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/22(水) 05:08:44 ID:aQGermqT0] >>251 そこまでするなら、もう他のましな言語に載せ変えてほしい希ガス
253 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/23(木) 15:17:59 ID:bav1KONC0] モニタを追加したのですが 下のようにすると、もとのモニタ内でしか、ポインタが異動しません。 どうすれば、追加したモニタ内も動くようになるんですか? たとえば、画面の右端にポインタがくると、左端にきてしまいます。 h:: MouseMove, -20, 0, 0, R return
254 名前:名無しさん@お腹いっぱい。 [2007/08/23(木) 19:00:00 ID:R2hk6dcE0] キーのremapで悩んでいます。 テンキーのような配列のキーボードで、一つ一つを押すと 「Ctrl + Alt + A」「Ctrl + Alt + B」...のように、 「Ctrl + Alt +※」のような組み合わせでキーコードを発行するキーボードが 有るのですが、その「Ctrl + Alt + A」のキーを「Enter」に割り当てたい場合に ^!a::Enter としたときにkeyhookには、 down Ctrl down Alt down a down Enter up a up Enter up Ctrl up Alt down Ctrl up Ctrl のように出力されます。 実際にエディター等で、「Enter」のように機能しておりません。 「Ctrl + Alt + A」が押された後に「Enter」が押されています。 その関係で、ほとんどのキーが正常に反応しません。 何か良い方法、もしくは参考になるサイト等をご教示願えないでしょうか? ちなみにAHKなどのキーバインドソフトや、プログラムの経験はほとんど有りません。 サンプルのコードからどのような動作がなされているかくらいは分かると思います。
255 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/23(木) 19:33:42 ID:K3YxSJna0] >>254 その製品自体にはリマップツールは付いてないの? で、 ^!a:: Send, {Enter} は試した?
256 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/25(土) 19:07:02 ID:W+ItwZr20] 253をどなたかよろしく
257 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/26(日) 16:27:04 ID:a1hT3suL0] SysGetで複数モニタのステータスは取れるけど。 マウスポインタの指定の仕方はわかんね
258 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/27(月) 00:59:19 ID:aeiRSrmu0] 無変換+EDSFにマウスカーソル移動を(使い物になるレベルで)割り当てたいんだけど、 移動量や加速度の調整のうまいやり方ご存じないっすか? 一応昔書いたコードを晒しておきます。汚いですがスイマセン。 これだと見ての通りちょっと押し続けると思いっきり移動してしまう感じに。 理想はジョイスティックやトラックポインタみたいなものだけど、デジタル入力だと難しいでしょうか。 ;カーソル右移動 sc07B & F:: vol := 1 speed := 0 MouseMove, %vol%, 0, %speed%, R Sleep, 100 Loop { Sleep, 10 GetKeyState, s1, sc07B, P GetKeyState, s2, F, P If (s1 = "U" || s2 = "U") { break } Else If (s1 ="D" && s2 = "D") { vol += %A_Index% speed += %A_Index%/2 MouseMove, %vol%, 0, %speed%, R } }
259 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/27(月) 01:20:00 ID:VadSXBov0] A_INDEXを加算するんじゃなくて 2秒以上押してたらパラメーターを変化させるとか
260 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/27(月) 03:57:41 ID:g7zWi+FH0] %A_Index% に対する speed の 増加率をもっとゆるやかにしたらいいと思う。 speed += %A_Index%/2 だとspeedが二次関数なみに増加してってる。 あとは>>259 みたいにループ回数じゃなく時間にspeedを対応させるとか。
261 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/29(水) 15:06:08 ID:KlpUKV/w0] AutoHotKeyでマウス3ボタン同時押しで何かをする、というのをやってみたいんだけど どうしたら出来ますか
262 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/29(水) 15:54:15 ID:d/TyIHTq0] LbuttonとRbuttonでコンビネーションキーして もう一個のボタンの押下を待てば?
263 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/29(水) 16:08:42 ID:KlpUKV/w0] >>262 待つ方法がよくわからなくて Inputを使えばいいのかと思うんですけど、 LbuttonかRbuttonが離れたらなにもしない、 という風にするにはどうしたらいいものでしょうか
264 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/29(水) 18:16:34 ID:d/TyIHTq0] LR+[A]キーで実験してみたお ~LButton & RButton:: { Tooltip, ! Loop { GetKeyState, LB, Lbutton, P GetKeyState, RB, Rbutton, P GetKeyState, A, a If LB = U { Break } If RB = U { Break } If A = D { MsgBox, ! Break } } ToolTip Return }
265 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/29(水) 18:43:12 ID:KlpUKV/w0] >>264 なるほどすばらしい動きですね ありがとうございます やり方としてはだいたい分かったと思うのですが、 このループは休みなく回り続けると思うのですが、 これはパフォーマンスに悪影響をおよぼしたりはしないものなのでしょうか
266 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/29(水) 18:46:28 ID:ZM87iOTj0] どんだけしょぼいPC使ってんだよ PCつけてるだけでそれ以上のものが動いてるっつの
267 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/29(水) 18:49:58 ID:KlpUKV/w0] >>266 他言語の開発経験では、 こういったビジーループはCPU使用率を100%近く使い切ってしまうものなので どういう仕組みでその辺を回避してるのか不思議なのです ループにSleepを入れなくて大丈夫なのはなぜなのだろうと
268 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/29(水) 18:56:11 ID:DzJvLQge0] そのループに入るのはRL押してるときだけじゃないの。
269 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/29(水) 19:25:04 ID:e2B4bxdm0] 各行ごとに10msのスリープが最初から入ってた気がする
270 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/29(水) 19:45:02 ID:ZAbcaavv0] >>267 他の言語の開発経験があるならソース読もうよ…
271 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/29(水) 20:06:53 ID:KlpUKV/w0] すみません、再度質問させてください ~LButton & RButton:: Loop { GetKeyState, rb, Rbutton, P GetKeyState, lb, LButton, P GetKeyState, wUp, WheelUp, P ToolTip %wUp% if lb = U { break } if rb = U { break } if wUp = D { send {PgUp} MouseClick WheelUp,,,U wUp = U } } ToolTip return 二ボタンを同時に押しながら、WheelUp/Downに反応してPgUp/Downをさせたいと思っています GetKeyStateでWheelUpをとると起動後何もしない時の初期状態はUなのですが 一度WheelUpするとDになり、その後Upをしても元に戻りません WheelUpのKeyStateをUにする方法はないものでしょうか それか同時押し+Wheelをうまく動かす方法はないものでしょうか
272 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/30(木) 11:19:13 ID:zx+Yz7/90] ディアクティブなウィンドウをウィンドウタイトルで検索してディアクティブなままSend,することって出来ないの?
273 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/30(木) 11:38:24 ID:fGCl+Ibc0] ControlSend
274 名前:271 mailto:sage [2007/08/30(木) 11:40:20 ID:nlX0V4+q0] 自己解決しました ~LButton2 & RButton:: ToolTip loopStart HotKey WheelUp, WheelUpLabel HotKey WheelDown, WheelDownLabel HotKey WheelUp, On HotKey WheelDown, On Loop { GetKeyState rb, Rbutton, P GetKeyState lb, LButton, P if lb = U { break } if rb = U { break } } ToolTip loopend HotKey WheelUp, Off HotKey WheelDown, Off return
275 名前:271 mailto:sage [2007/08/30(木) 11:41:11 ID:nlX0V4+q0] WheelUpLabel: ToolTip WheelUp return WheelDownLabel: ToolTip WheelDown return HotKeyを動的に割り当てればいいようですね ありがとうございました