[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 03/07 16:17 / Filesize : 304 KB / Number-of Response : 977
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

AutoHotkey スレッド part4



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を動的に割り当てればいいようですね
ありがとうございました






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<304KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef