AutoHotkey 3

このエントリーをはてなブックマークに追加
1名無しさん@お腹いっぱい。
2名無しさん@お腹いっぱい。:2006/09/01(金) 02:00:35 ID:/YXPktqM0
■マニュアルの日本語版
AutoHotkeyを流行らせるページ
ttp://lukewarm.s101.xrea.com/

■関連記事のあるサイト
猫歩き - AutoHotKey
ttp://tryhost.net/~catwalk/?cmd=read&page=AutoHotKey

TOKKY.COM
ttp://www.h3.dion.ne.jp/~tokky/

なまず日記
ttp://www.tierra.ne.jp/~aki/diary/

eamatの日記
ttp://d.hatena.ne.jp/eamat/

おばけ日記
ttp://d.hatena.ne.jp/obake/

AutoHotkey メモ - Principia
ttp://principia.s54.xrea.com/index.php?AutoHotkey%20%A5%E1%A5%E2

スクリプトのページ for 信長の野望 革新
ttp://www2.pf-x.net/~kakushin/

1 Hour Software by skrommel
ttp://www.donationcoders.com/skrommel/

AutoHotKey - falls wanking to the floor
ttp://kan.s151.xrea.com/?AutoHotKey
3名無しさん@お腹いっぱい。:2006/09/01(金) 03:04:08 ID:Tje0fVrj0
ACConsole
http://www.autohotkey.com/forum/topic7831.html

これも加えて。
4名無しさん@お腹いっぱい。:2006/09/01(金) 03:06:29 ID:HZzaLzl00
>>1

誰もスレたてなかったら様子見て立てようと思ってた
5名無しさん@お腹いっぱい。:2006/09/01(金) 11:27:24 ID:Zz5hJ7fC0
>>1

全スレ999と1000 次スレ立てる前に埋めるなよ
最近進行速かったから終わりそうなの気付いてなかった。
6名無しさん@お腹いっぱい。:2006/09/01(金) 14:37:11 ID:ZObdYx9L0

いつの間に
7名無しさん@お腹いっぱい。:2006/09/01(金) 16:15:25 ID:iLt3np2g0
age
8名無しさん@お腹いっぱい。:2006/09/01(金) 16:41:30 ID:iF0VCAW70
>>1
乙Hotkey
9名無しさん@お腹いっぱい。:2006/09/01(金) 16:51:33 ID:tfgHLp1g0
>>1
10名無しさん@お腹いっぱい。:2006/09/01(金) 16:51:40 ID:knl8iA2k0
いつになったらスレタイに日本語の説明がつくんだよ
11名無しさん@お腹いっぱい。:2006/09/01(金) 18:22:06 ID:OvAAcOQQ0
マウスクリックを連打するスクリプト教えてください。
12名無しさん@お腹いっぱい。:2006/09/01(金) 18:29:31 ID:/YXPktqM0
パソコンをぶっ壊す

パソコンのことは忘れる

解決
13名無しさん@お腹いっぱい。:2006/09/01(金) 18:37:31 ID:Q9z41ksE0
パソコン蛾壊れた
14名無しさん@お腹いっぱい。:2006/09/01(金) 22:52:53 ID:HZzaLzl00
>>10
次回スレ立てまかせた

ていうか、流れを見ると980あたりで次スレってのが妥当だと思うけどどうかな
これから結構続いてくスレだと思うんだけど、出来れば次のテンプレにその辺のことを追加しといたらいいんジャマイカ
15名無しさん@お腹いっぱい。:2006/09/01(金) 23:21:06 ID:Zz5hJ7fC0
今回テンプレ相談する間もなかったよね
つか、1000落ちする直前まで誰も気がついてなかった悪寒
16名無しさん@お腹いっぱい。:2006/09/02(土) 07:48:11 ID:+ywRSPDl0
migemo i-searchやべえええええ
もう手放せね
17名無しさん@お腹いっぱい。:2006/09/02(土) 23:05:48 ID:6mpJtjZm0
前スレでゲームのコマンドをマクロ登録のやり方聞いてたものですが、
また分からないことが出てきました。

  E
S   F  ←E=上、下=D、S=左、F=右ということです。
  D

左→左斜め下→下→(右斜め下+Kキー+Lキー)

ってのなんですけど、右斜め下で止めるやり方が分かりません。

a::
send,{s down}{d down}{f down}{s up}{d up}kl{f up}
return

にしたのですが、右斜め下じゃなく右で止まって最後が(右+Kキー+Lキー)になってるらしく、
技が出ません。
どう直せばいいんでしょうか?
18名無しさん@お腹いっぱい。:2006/09/02(土) 23:46:30 ID:olsmrpn60
だからパッド買えって
19名無しさん@お腹いっぱい。:2006/09/03(日) 01:23:40 ID:QBsF2VgF0
あるアプリ(avast!です)の、タスクトレイアイコンの右クリックメニューを呼び出す方法ってありますか?
20名無しさん@お腹いっぱい。:2006/09/03(日) 02:00:42 ID:dFt52mdk0
>>17
電柱か何かに思いっきり頭をぶつければいいと思うよ
21名無しさん@お腹いっぱい。:2006/09/03(日) 02:02:52 ID:Td3nuVSl0
>>19
流行らせるページ→My Scripts→タスクトレイアイコン操作スクリプトを参考に。
2219:2006/09/03(日) 13:25:47 ID:QBsF2VgF0
>>21
レスどうもです。ソース内の使用例から上をコメントにして試してみましたが
Tray_GetInfo(A_Index,hwnd,uid,msg)
の行でエラーがでてしまって使用できませんでした。

AutoHotkeyスクリプトはあまり詳しくないし、今はそんなに空き時間もないので
そのうち中身を解析してみます。
23名無しさん@お腹いっぱい。:2006/09/03(日) 13:47:50 ID:T+4uv6/l0
ttp://hp.vector.co.jp/authors/VA026310/soft2.htm

ここのTrayCommand使えば?
24名無しさん@お腹いっぱい。:2006/09/03(日) 14:57:18 ID:QBsF2VgF0
>>23
レスどうもです。このツールは簡単に、avast!のタスクトレイアイコンの右クリックメニューを
表示できました。
・・・でもなぜかavast!のこのメニュー、マウスじゃないと選択できませんでした・・・
25名無しさん@お腹いっぱい。:2006/09/03(日) 15:04:22 ID:QBsF2VgF0
あ、>>24じゃ意味分かりませんね。
やりたいのは、avast!のタスクトレイアイコンの右クリックメニューの
「更新」→「プログラムの更新」って選択する動作を自動化して
スタートアップに入れたかったのです。

>>23のツールのおかげでできる!と思ったら
なぜか、マウスでないとこのメニューにフォーカスが移せなくてガッカリ、
という流れでした。
26名無しさん@お腹いっぱい。:2006/09/03(日) 15:40:57 ID:VgPJiR870
>>25
run, "D:\hoge\Traycmd\traycmd.exe" /L "D:\avendなんちゃら"
Sleep, 300
Send, U(←更新のショートカットコマンド)

とか、コマンドを送るのじゃ駄目?
自分は秀丸メールのタスクトレイアイコンの操作で、こうしてる。
27名無しさん@お腹いっぱい。:2006/09/03(日) 15:42:59 ID:VgPJiR870
あ、ごめん。右クリックだっけ。

run, "D:\hoge\Traycmd\traycmd.exe" /R "D:\avastなんちゃら"
Sleep, 300
Send, U(←更新のショートカットコマンド)

でした。
28名無しさん@お腹いっぱい。:2006/09/03(日) 16:00:29 ID:QBsF2VgF0
>>26-27
レスサンクスです。一応やってみましたがやはりダメでした。

なんでかよくわかりませんが、avast!のこのメニュー、
一度マウスでどれか選択してフォーカスを移してやらないと、
ショートカットキー(「U」です)も、上下キーも受け付けないんですよ。
他のアプリの同種メニューは問題なく選択できるのですが。

29名無しさん@お腹いっぱい。:2006/09/05(火) 15:36:18 ID:yGcy5s2u0
MouseMoveでむりやり触るとか
30名無しさん@お腹いっぱい。:2006/09/06(水) 21:35:16 ID:DYaiZrFh0
確かトレイメッセージ受け取り先のウィンドウをWinActivateしてやらないと駄目なときがあるって
31名無しさん@お腹いっぱい。:2006/09/06(水) 23:31:00 ID:+CiZNCi60
アクティブウィンドウを透明度200と255で切り替えるトグル形式のスクリプトを作りたいんですけど
アクティブウィンドウのTransparentの値を取得することってできるんでしょうか?
やり方がわからなかったので今はトグル形式ではなく、透明度200に設定するスクリプトと
透明度255にするスクリプトの2つを別々のキーに割り当てて使ってます。

;アクティブなウィンドウを透明度200に設定するスクリプト
WinGetClass, class, A
WinGetTitle, title, A
WinSet, Transparent, 200, ahk_class %class%

;アクティブなウィンドウを透明度255に設定するスクリプト
WinGetClass, class, A
WinGetTitle, title, A
WinSet, Transparent, 255, ahk_class %class%

32名無しさん@お腹いっぱい。:2006/09/06(水) 23:43:46 ID:SfLRpiJs0
できなかった気がする。
つかAHK云々以前にWinAPIとかで取得できるんだっけか?
前にちょろっと試して無理そうかなって思った記憶あるんだけど
3328:2006/09/07(木) 00:00:25 ID:1qJogsB20
>>29
遅くなりましたがレスどうもです。一応、むりやり触ってみる方法で
自動更新っぽくなりました。マウスポインタが動いてしまいますが、まあ良いです。

run, "D:\〜\traycmd.exe" /R /X=500 /Y=500 "C:\〜\ashDisp.exe"
Sleep, 300
MouseMove, 10, -130, , R
Send, {LButton}g
return


>>30
どんな風にすればよいのか分かりませんが、レスどうもです。


それにしてもAutoHotkeyって面白いですね。
時間ができたらのめりこんでいそう・・・
34名無しさん@お腹いっぱい。:2006/09/07(木) 01:39:11 ID:8c5wfNrr0
>>31
透明度255と半透明化OFFは別物。255だと若干処理が重くなる。
自分はこんな感じでトグルさせてる。
キー::
WinGetClass, cls, A
WinGet, trs, Transparent, A
IfEqual, trs, 200 WinSet, Transparent, OFF, ahk_class %cls%
Else WinSet, Transparent, 200, ahk_class %cls%
return
35名無しさん@お腹いっぱい。:2006/09/07(木) 02:22:36 ID:UodBloDW0
WS_EX_TRANSPARENT
36名無しさん@お腹いっぱい。:2006/09/07(木) 18:35:38 ID:Xy0c7/IV0
37名無しさん@お腹いっぱい。:2006/09/08(金) 03:27:43 ID:2DKBwb3Y0
<title>Click

Click
に置換すれば見れるようになる。
38名無しさん@お腹いっぱい。:2006/09/08(金) 09:31:49 ID:x6rTJnHM0
流行らせるページのダウソ版がなんか変ですな
39名無しさん@お腹いっぱい。:2006/09/08(金) 09:54:50 ID:YSF0vYHK0
意味不明。板のことか?
40名無しさん@お腹いっぱい。:2006/09/08(金) 10:05:04 ID:SC356Jay0
ダウンロード版マニュアルの事だろ
41名無しさん@お腹いっぱい。:2006/09/08(金) 11:38:45 ID:ffCUbe/h0
>>37
titleタグがダブってただけなのね
ありがとう
42名無しさん@お腹いっぱい。:2006/09/08(金) 17:34:45 ID:ffCUbe/h0
管理人さん修正ありがとう
43名無しさん@お腹いっぱい。:2006/09/08(金) 19:07:46 ID:gY6ARGA90
流行らせるページのことは向こうのBBSに書け
44名無しさん@お腹いっぱい。:2006/09/08(金) 19:12:51 ID:77ULNviB0
なにを偉そうに言ってるんだコイツ
4517:2006/09/08(金) 20:22:13 ID:GxkFqpY50
どなたかお願いします・・・
46名無しさん@お腹いっぱい。:2006/09/08(金) 20:37:34 ID:8zJTpArL0
>>45
わかりません・・・
47名無しさん@お腹いっぱい。:2006/09/08(金) 21:50:13 ID:2DKBwb3Y0
>>45
指を鍛えろ
48名無しさん@お腹いっぱい。:2006/09/08(金) 21:53:28 ID:ffCUbe/h0
流石に>>17は騙りな気がしてきた
4917:2006/09/08(金) 23:15:06 ID:GxkFqpY50
>>48
違います。
マジです。本当に分かりません。
分かる方教えてください。
50名無しさん@お腹いっぱい。:2006/09/09(土) 03:17:58 ID:P8jZTmdj0
AutoHotkeyを流行らせるページを何度も読め
そしてそれ以前に空気を読め
51名無しさん@お腹いっぱい。:2006/09/10(日) 03:33:30 ID:/wBykAdw0
>>49
{s down}{d down}{f down}ってなってるけど、ジョイスティックで"左","下","右"が
同時に入ることは有り得ないっしょ。
その後 {s up}{d up} で左と下を離してるんだから "右+?" になるのは当たり前じゃまいか?

ホットキーの使い方やキーの押し離しのコマンドは理解しているようだし、
その順番までここで聞くのは禿げしくスレ違い。
52名無しさん@お腹いっぱい。:2006/09/10(日) 07:38:32 ID:l4ZoNmu/0
>>51
スレ違いだと思うなら答えるなよ
教えるなら全部書け
お前も学習能力ないだろ
53名無しさん@お腹いっぱい。:2006/09/10(日) 08:44:05 ID:/wBykAdw0
>>52
全部教えれば、性懲りも無く違う技(ゲームの)でまた聞いてくる。
放置すれば、>>45のパターンで何度も現れる。

スクリプトの使い方に間違いがあるのでは無く、自分の考えが足りない事を教え、
この件に関しては、ここで聞くべき事はもう無いということを悟らせたかったのだが。
54名無しさん@お腹いっぱい。:2006/09/10(日) 09:07:53 ID:Xc0m0coH0
Send,1234567890
より
Clipboard=1234567890
Send,^v
のほうが速いんですが、クリップボードを介さないで後者くらい速くメッセージを送る方法はありませんか?
55名無しさん@お腹いっぱい。:2006/09/10(日) 09:25:02 ID:zzuZPjEz0
SetKeyDelay
56名無しさん@お腹いっぱい。:2006/09/10(日) 09:26:52 ID:zzuZPjEz0
>>53
結局、今まで通り中途半端に教えてるだけにしか見えないけど?
57名無しさん@お腹いっぱい。:2006/09/10(日) 10:03:09 ID:3qvIqgOJ0
場面によっては
ControlSetText
を使うとサクサク
58名無しさん@お腹いっぱい。:2006/09/10(日) 10:22:51 ID:qjyDqPZZ0
>>53
前スレ読んどらんの? そいつ学習能力ないよ、そして鬼しつこい
責任とってちゃんと最後まで面倒ヨロ
59名無しさん@お腹いっぱい。:2006/09/10(日) 10:42:54 ID:Xc0m0coH0
>>57
ありがとうございます。高速になりました。
60名無しさん@お腹いっぱい。:2006/09/10(日) 10:44:24 ID:pfuFXczH0
>>53
そいつ絶対悟らない無能だから無理。諦めて見捨てて放置してください。
61名無しさん@お腹いっぱい。:2006/09/10(日) 14:13:15 ID:SpK1wB4f0


ホットキーな
6228:2006/09/10(日) 15:11:20 ID:Y9YNXt/j0
時間ができたので、>>22のエラーの原因を探ろうと思い、
しばらく中身を見ていたら、使用例のTray_GetInfo関数の
最後の引数が指定されてなかったのが原因でした。

× Tray_GetInfo(A_Index,hwnd,uid,msg)
○ Tray_GetInfo(A_Index,hwnd,uid,msg,hicon)

ちなみに、コメント部分の説明の引数も同様でした。

× Tray_GetInfo(idx,ByRef hwnd,ByRef uid,ByRef msg)
○ Tray_GetInfo(idx,ByRef hwnd,ByRef uid,ByRef msg,ByRef hicon)


ついでに、Tray_MoveIcon関数が使えなくてなぜ?と思い
調べたら、実際の関数名はTray_MoveButtonでした。

× Tray_MoveIcon
○ Tray_MoveButton


流行らせるページ→My Scripts→タスクトレイアイコン操作スクリプト、を
参考にする場合は、上記3点に注意ですね。

改めて、いろいろとアドバイスありがとうございました。感謝です。
63名無しさん@お腹いっぱい。:2006/09/12(火) 21:28:15 ID:PRNFOqB80
流行らせるBBS、たまに質問スレにレス返してるだけなんだけど
過疎ってるから結構 連投規制に引っかかる。
可能なら値ちょっと調整してもらえると嬉しいッス > 管理人さん
64名無しさん@お腹いっぱい。:2006/09/13(水) 06:39:35 ID:YcFblK4y0
むこうに書けよ
65名無しさん@お腹いっぱい。:2006/09/13(水) 09:45:46 ID:pINH+KqO0
だから連投規制で書けないんすよ…
66名無しさん@お腹いっぱい。:2006/09/13(水) 15:06:39 ID:YGUa6q120
つ【メール】
67名無しさん@お腹いっぱい。:2006/09/14(木) 08:32:56 ID:wjF4DbfH0
ClassNNがコロコロ変わってしまう変なソフトがあるんですが、どうすればいいんでしょうか・・・
あるクラスのテキストを読みたいんですが、ソフトを起動し直す度に変わってしまうのでどうにも指定できません
68名無しさん@お腹いっぱい。:2006/09/14(木) 09:20:22 ID:c1UFOMm30
法則性があるならLOOPとかで数字を回転させて総当りとか
ランダムな文字列なら厳しいのかな
もしくは全テキストをいったん取得して
その前後が一定の文章だったらそれを目印にカットできるかも
69名無しさん@お腹いっぱい。:2006/09/14(木) 09:35:22 ID:wjF4DbfH0
>>68
取得したいクラスは、Button123 といったかんじで、末尾の数字がコロコロ変わります
また、Button125など、似たクラス名のものもあるので、そっちを取得してしまう事もありました
取得したいテキストは、3〜4桁の数字ですがスペースが末尾につくので、
そこらへんで判別出来るかもしれないのでやってみます ありがとうございます
70名無しさん@お腹いっぱい。:2006/09/14(木) 09:37:54 ID:tDj+xtz70
AHKで取れるClassNNはZオーダーで尻番が変化するけどそういう意味じゃなくて?

ウィンドウからの相対座標位置でクラスのある場所のアタリをつけられるなら
MouseMove  → マウスポインタを指定クラス上に移動
MouseGetPos → クラス名 (or AltMethod=2でハンドルとして取得)
ControlGetText ( or WinGetText)

ただ、ControlGet はソフトによっては値取れないことも多いので
xyzzyのように動的にクラス名を替えてくるものの場合はムダかもしれない
71名無しさん@お腹いっぱい。:2006/09/14(木) 09:41:54 ID:tDj+xtz70
おっと、書込む前に更新すればよかった。

>末尾の数字がコロコロ
それはZオーダーだから、
MouseClick や ControlGetFocus で
フォーカス持ってきてやればたぶん毎回 Button121 でOKになると思う
72名無しさん@お腹いっぱい。:2006/09/14(木) 11:02:44 ID:9tdT7m9t0
ある色の上にマウスがきたときにクリックするようなものって作れますかね?
73名無しさん@お腹いっぱい。:2006/09/14(木) 12:13:50 ID:Hvsr/55I0
MouseGetPos
MouseClick
74名無しさん@お腹いっぱい。:2006/09/14(木) 15:05:19 ID:1vi0Zf4L0
PixelGetColor
75名無しさん@お腹いっぱい。:2006/09/15(金) 00:52:09 ID:m7kD1EfQ0
>>73-74
どうもです。
76名無しさん@お腹いっぱい。:2006/09/15(金) 23:15:04 ID:mVxCzH+K0
気軽に「こんなソフトありませんか?」 44
ttp://pc7.2ch.net/test/read.cgi/software/1157298143/612

これに挑戦してみたので書いて見ます。数回に分かれます

ーーーーーーーーーーーーーーーーーーー

Loop
{
MouseGetPos, X1, Y1

Sleep,100

MouseGetPos, X2, Y2

If X1 = %X2%
{
If Y1 = %Y2%
{
Continue
}
}

(つづく)
77名無しさん@お腹いっぱい。:2006/09/15(金) 23:16:13 ID:mVxCzH+K0
EnvSub, X2, %X1%
EnvSub, Y2, %Y1%

If X2 > 0
{
KeyX = RIGHT
}
If X2 < 0
{
KeyX = Left
}

If Y2 > 0
{
KeyY = DOWN
}
If Y2 < 0
{
KeyY = UP
}

78名無しさん@お腹いっぱい。:2006/09/15(金) 23:17:41 ID:mVxCzH+K0
EnvMult, X2, %X2%
EnvMult, Y2, %Y2%

If X2 > %Y2%
{
Key = %KeyX%
}
If Y2 > %X2%
{
Key = %KeyY%
}

GOsub, SendKey

}
79名無しさん@お腹いっぱい。:2006/09/15(金) 23:18:36 ID:BbTfLpgn0
割り込んで悪いが、数レスに分かれるものは
スクリプト投稿スレ or 流行らせるアップローダ
でやってくれ。
80名無しさん@お腹いっぱい。:2006/09/15(金) 23:20:45 ID:mVxCzH+K0
Sendkey:
{
Send, {%Key%}
Return
}

+Esc::
{
MsgBox, 終了します
ExitApp
}

ーーーーーーーーーーーーーーーーー
うわ、長すぎてウザス…住人さんスマン。
アップローダーにすれば良かった。インデントはすまんがエディタでおながい
シフト+ESCで終わるようにしてるけど、お好きなように
81名無しさん@お腹いっぱい。:2006/09/15(金) 23:22:15 ID:mVxCzH+K0
>>79
スマン、次があったらソウスル
82名無しさん@お腹いっぱい。:2006/09/16(土) 00:28:42 ID:BJRgSG3x0
別にいいよこれくらいなら
83名無しさん@お腹いっぱい。:2006/09/17(日) 03:05:47 ID:lXpvRKQh0
ローカル変数を作るには関数にするしか方法はないんですか?
84名無しさん@お腹いっぱい。:2006/09/17(日) 16:15:37 ID:U3nF0j/S0
>>76にあるスレの>>612です。>>76-80のスクリプトを書いてもらった
者です。こっちの方がいいかな、と思って移動してきました。

動かしてみた結果、あまりにも自分の求めたものにどんぴしゃで、
笑いすら込み上げたのですが、肝心の使いたいソフトでは、カーソル
を認識してくれませんでした。メニューバー操作時は有効なのに、いざ
本編を動かすと、認識しません。

以前、ソフトウェアキーボードを試した時にも、ソフトによって認識したり
しなかったりしたので、キーを押した、という扱いにも複数種類あるのか
なあ、と思っています。

もし、何かご存知なことがあれば、教えて下さい。
スレ違いならすみません。

押下キーをUP、DOWNじゃなく、コントロールコードにすればいいのかな。
自分でももう少し調べてみます。
85名無しさん@お腹いっぱい。:2006/09/17(日) 16:51:54 ID:UxwXZJiW0
CtrlとCAPSの入れ替えは出来るようになったの?
86名無しさん@お腹いっぱい。:2006/09/17(日) 17:15:04 ID:KUIVwFv30
>>85
日本語xp上だと構造上無理なんじゃなかったっけ。
87名無しさん@お腹いっぱい。:2006/09/17(日) 20:59:53 ID:EW9mZFc00
>>84
書いた中の人だけどこちらでもゲームでは機能しなかったよ
ヴューワーでしか試してなかったんでね。進展あったら教えてね。
わりとすっと書けたし、動かしてみたらなんか不思議な感覚で面白かった。
88名無しさん@お腹いっぱい。:2006/09/17(日) 21:19:19 ID:hnxNsvWQ0
>>84
SendMode
89名無しさん@お腹いっぱい。:2006/09/17(日) 21:22:00 ID:UxwXZJiW0
>>86
そうなんだ・・・
2バイト文字も通らないし、英語版Windows以外の動作自体
想定してないみたいだね
90名無しさん@お腹いっぱい。:2006/09/17(日) 21:52:05 ID:KUIVwFv30
>>87
スクリーン絶対座標にしないとウィンドウの左上にはみ出したときにエラーが出るっぽい。
ついでにちょっと斜め移動のOn,Offが設定できるようにしてみた。
;斜め移動無し:0 斜め移動有り:1
SetEnv, mode, 1
SendMode, Play
CoordMode, Mouse, Screen
Loop{
MouseGetPos, X1, Y1
Sleep, 50
MouseGetPos, X2, Y2
dX := X2 - X1
dY := Y2 - Y1
If (dX|dY == 0)
Continue
IfGreater, dX, 0, SetEnv, KeyX, {RIGHT}
IfLess, dX, 0, SetEnv, KeyX, {LEFT}
IfGreater, dY, 0, SetEnv, KeyY, {DOWN}
IfLess, dY, 0, SetEnv, KeyY, {UP}
If mode{
Send, %KeyX%%KeyY%
SetEnv, KeyX,
SetEnv, KeyY,
}
Else{
If (Abs(dX) > Abs(dY))
Send, %KeyX%
Else, Send, %KeyY%
}
}
+Esc::ExitApp
91名無しさん@お腹いっぱい。:2006/09/17(日) 21:53:39 ID:lXpvRKQh0
>>76 のやり方だと Send で連打してることになるから、
押しっぱなしとは違うと思うよ。

関係ないけど同じSendの使い方でも
キーに当てるかマウスにあてるかで動作が違いますね。
F1:: Send,{Right Down}
F1 Up:: Send,{Right Up}
LButton:: Send,{Right Down}
LButton Up:: Send,{Right Up}
こうすると、F1 の場合押しっぱなしでリピートするけど
LButton の場合リピートしてくれない。
92名無しさん@お腹いっぱい。:2006/09/18(月) 00:15:50 ID:g/6pDx8F0
>>90
おお、ずっとオシャレだw
手馴れた人が書くと違うね
9390:2006/09/18(月) 02:44:06 ID:jEr+hvQW0
>>92
1レスに押さえるためにIfGreaterとかSetEnvみたいなものも使ってるけど、
普通に If (dX > 0)とかの方が見やすいしミスも少ないと思う。
あまりこういう書き方は(個人的には)おすすめできない。
94名無しさん@お腹いっぱい。:2006/09/18(月) 03:44:16 ID:g7J4X+YO0
AutoHotkeyの言語仕様って何かモデルがあるんですか?
そんなに言語詳しいわけじゃないけど、
なんか、かなりいきあたりばったりな作りの感じがするのですが。
95名無しさん@お腹いっぱい。:2006/09/19(火) 03:44:06 ID:4qkQq/G80
>>95
VBに後からC系の書き方をくっつけた感じ?
9695:2006/09/19(火) 03:47:13 ID:Sq81Z9rs0
>>95
うん
97名無しさん@お腹いっぱい。:2006/09/22(金) 04:17:52 ID:PNYRhhy00
さるゲームで、多垢してる時のウィンドウ切り替え用に
このソフトの利用を考えています。

まだちーっとも使い方が分かってませんが
多重起動しているアプリだけで
ウィンドウ切り替えをじゅんぐり繰り返す事は可能でしょうか?

手順としては、タイトルに含まれる文字列からIDを絞り込んで
そのIDのウィンドウをアクティブにする、って感じかな?
あ、いや、例文で出来そうな気がしてきました。
もっと勉強します。失礼。
98名無しさん@お腹いっぱい。:2006/09/22(金) 04:46:30 ID:ix6CoCIr0
独り言ならチラシの裏に書け
99名無しさん@お腹いっぱい。:2006/09/23(土) 04:09:48 ID:EOalnNbj0
すいません、アホな事をお聞きしますが
ahk_idって何でしょう?
ウィンドウ指定する時の呪文みたいな物でしょうか?
100名無しさん@お腹いっぱい。:2006/09/23(土) 04:24:02 ID:2eur3OYD0
101名無しさん@お腹いっぱい。:2006/09/24(日) 20:27:50 ID:R3ZjjbT00
AutoHotkey単体でクリップボード内の文字列をURLエンコードすることって
無理でしょうか?
検索サイトのURLと合わせてブラウザのアドレスバーに投げたいんだけど
やりかたがよくわかりません。URLエンコードする
コマンドラインツールがあると簡単なのですが見つかりません
102名無しさん@お腹いっぱい。:2006/09/24(日) 20:45:37 ID:P+js+GLs0
103名無しさん@お腹いっぱい。:2006/09/24(日) 22:34:33 ID:R3ZjjbT00
>>102

ありがとう。
こりゃ便利だ。
104名無しさん@お腹いっぱい。:2006/09/24(日) 23:57:41 ID:q0oKeRu40
Shift_JISのみだけど

urlEncode(str) {
 fmtInt := A_FormatInteger
 SetFormat, Integer, H
 Loop, parse, str
 {
  code := Asc(A_LoopField)
  if (code == 0x20) {
   result := result . "+"
  } else if ((code >= 0x30 && code <= 0x39) || (code == 0x5F) || (code >= 0x41 && code <= 0x5A) || (code >= 0x61 && code <= 0x7A)) {
   result := result . A_LoopField
  } else {
   StringTrimLeft, code, code, 2
   result := result . "%" . code
  }
 }
 SetFormat, %fmtInt%
 return result
}
10597:2006/09/25(月) 05:17:48 ID:uv96A2AO0
>>100
サンクス

行き詰ったので質問します。

A=1
#Persistent
#WinActivateForce
SetTimer, keywait, 100,
return

keywait:
GetKeyState, x, JoyX
if x > 90
{
WinGet, box, list,XXX , , ;XXXはゲームの名前です
StringTrimRight, this_id, box%A%, 0
WinActivate, ahk_id %this_id%
MsgBox, 4, , BOX=%box%`nbox%A%`n%this_id%
IfMsgBox, NO, ExitApp
EnvAdd,A,1
}
if A > %box%
A=1
return
これで、一応それっぽい動作はしてくれるのですが
一回キーを押しただけでは、次のウィンドウに進んでくれなくて
困っています。
box%A%で指定したはずのウィンドウと
this_idの中身にズレが発生するのが
何故なのかわかりません。
アドバイス願います。
106名無しさん@お腹いっぱい。:2006/09/25(月) 22:13:17 ID:XVvF0alA0
これじゃいかんの?
一番下を最前面にすりゃ自動でぐるぐる回ると思うが。

#Tab::
 nextWindow()
 return

nextWindow() {
 WinGetClass, className, A
 WinActivateBottom, ahk_class %className%
}
107名無しさん@お腹いっぱい。:2006/09/26(火) 01:29:30 ID:VJfcuP4l0
Gui, Addコマンドでコントロールを配置するとき、マウスによるウィンドウの
リサイズに追従してコントロールの大きさも変化させるようにするオプションってある?
GuiSizeラベル使うしかないかな。
108名無しさん@お腹いっぱい。:2006/09/26(火) 05:33:39 ID:w1aSLJGS0
>>106
お答えありがとうございます。
すいません、素人なんで良く分からないのですが
エラーが出て止まります。
3行目で
Error: This Line does not contain a recognized action.
と、出ます。

>>105ですが、どうやらウィンドウハンドルが
BOXの数字と、対応して固定って訳じゃないから発生するみたいですね。
メインウィンドウから、変数とその内容の一覧が見られると気が付いて
発見しました。
違った方法を考えないとダメみたいですね。
109名無しさん@お腹いっぱい。:2006/09/26(火) 06:48:29 ID:3nPQeRUr0
SetTitleMatchMode,2 ; 1=前方一致 2=中間一致 3=完全一致
a::
WinActivateBottom, XXX ;XXXはゲームの名前(中間一致)
return

aキーで切替え
110名無しさん@お腹いっぱい。:2006/09/26(火) 07:13:23 ID:3nPQeRUr0
>>108
エラーの理由は全角スペース
削っても他にバグが有るから動かないけど
111105:2006/09/26(火) 07:29:14 ID:Mi5834uB0
>>109
出来ました・・・orz
こんな短いプログラムで出来るなんてー
ありがとうございました。m(__)m
112名無しさん@お腹いっぱい。:2006/09/26(火) 07:35:50 ID:Mi5834uB0
>>110
見落としておりました(汗
確かにスペースが全角ですね
気が付かなかったです・・・orz

皆様、色々とアドバイスを頂き、ありがとうございました。
AutoHotKey、中々便利なので
もうちょっと弄らせて頂きます。

まさか、半年近く悩んだウィンドウ切り替えが
こんな簡単な記述だけで出来るなんて凄いですー。
113110:2006/09/26(火) 07:39:15 ID:3nPQeRUr0
スマソ勘違い
>削っても他にバグが有るから動かないけど
ゲームをアクティブにしておけば動く仕組みだった

>>106 ゴメソ
114名無しさん@お腹いっぱい。:2006/09/26(火) 16:20:06 ID:5hiqyBfO0
>>106
目から鱗が出てきたんですけどw
115名無しさん@お腹いっぱい。:2006/09/27(水) 01:42:26 ID:SYZ7MThL0
気軽に「こんなソフトありませんか?」 45
http://pc7.2ch.net/test/read.cgi/software/1158751580/330 へ
#SingleInstance off
Gui, Add, Edit, x0 y0 w280 h120 Multi +Left vBox
Gui, +AlwaysOnTop +ToolWindow +ReSize
Gui, Show, x20 y160 w280 h116, Memo
return

+Enter::
GuiControlGet, Box
StringGetPos, num, Box, `n
StringLeft, title, Box, %num%
FileCreateDir, %A_YYYY%\%A_MM%\%A_DD%
FileAppend, %Box%, %A_YYYY%\%A_MM%\%A_DD%\%title%.txt
GuiControl,,Box
return
GuiSize:
GuiControl, Move, Box, w%A_GuiWidth% h%A_GuiHeight%
return
GuiClose:
ExitApp
116名無しさん@お腹いっぱい。:2006/09/27(水) 09:08:52 ID:0hLLyFV70
>>115
日本語入力がままならないのは致命的だと思うんですが、なんとかなるの?
半角英数字なら問題ないけどね。
117名無しさん@お腹いっぱい。:2006/09/27(水) 09:17:43 ID:W41vexxB0
エディタのマクロでやる方が素直かと
118名無しさん@お腹いっぱい。:2006/09/27(水) 12:48:53 ID:/CyDEpvk0
>>115
そっちのスレに書くか
"どういうスクリプトか"の説明とともに書き込むかしてもらえる?
119名無しさん@お腹いっぱい。:2006/09/27(水) 21:47:29 ID:/9ngf7rI0
autohotkeyにチャレンジ中なのですが
JoyパッドのボタンにF5を押す動作を登録しようとしたところ
Joy1::F5
だと F5ってコマンドはねぇとおこられてしまいます
なにかまちがっるのでしょうか?
120名無しさん@お腹いっぱい。:2006/09/27(水) 21:55:59 ID:xSNst36z0
Send, {f5}
というか日本語からして間違ってる
121名無しさん@お腹いっぱい。:2006/09/27(水) 22:11:11 ID:/9ngf7rI0
あrがとう。
122気軽に「こんな〜スレ384:2006/09/29(金) 19:17:01 ID:7fAuC5Wm0
>>115
今出張から戻りますた。
涙で目の前がみえn(ry

作ってくれて、ありがとう
123名無しさん@お腹いっぱい。:2006/10/03(火) 17:37:06 ID:FnwBS0Em0
imeがonで、文字列を変換中かどうかで
hotkeyを変えたいと思うんですが、可能ですか?
124名無しさん@お腹いっぱい。:2006/10/03(火) 18:25:49 ID:Wm0wMjjK0
窓使いの憂鬱ならそういうことできるね。
125名無しさん@お腹いっぱい。:2006/10/03(火) 21:55:28 ID:gm7V2rc+0
キャレットの座標が取得できるかどうかで判断したらいいんじゃないかと
思ったけどここを見るとそううまくはいかないのかな?
ttp://www.tierra.ne.jp/~aki/diary/?date=20051215
126名無しさん@お腹いっぱい。:2006/10/04(水) 01:01:00 ID:gUfzcMiC0
よくわからんが憂鬱プラグイン流用方法がなまずんとこになかったっけ
127名無しさん@お腹いっぱい。:2006/10/04(水) 11:36:10 ID:HvEhBwIX0
RCtrl & Down::send, {LWIN}

ってしてもWinキーが押されないのですが、どうすればいいのでしょうか?
128名無しさん@お腹いっぱい。:2006/10/04(水) 17:19:15 ID:6/8KkRRV0
>>127
RCtrl & Down::send, {LWINDOWN}{LWINUP}
だったらどう?
129名無しさん@お腹いっぱい。:2006/10/04(水) 17:33:45 ID:R2bHn/420
試しに
RCtrl & Down::send, {LWIN Down}
これだけやったら常にwinキー押下状態になった。
130名無しさん@お腹いっぱい。:2006/10/04(水) 17:51:02 ID:HvEhBwIX0
>>128
サンクス。
できました。
131名無しさん@お腹いっぱい。:2006/10/06(金) 09:33:02 ID:5IifIlvV0
win2kの方

WinGet, translvl, Transparent, A

とかって値取れますか?
半透明ウィンドウ上でも空になってしまうのですが・・
132名無しさん@お腹いっぱい。:2006/10/06(金) 13:31:15 ID:n7mg6kB20
>>131
Win2K(sp4)です

WinSet, Trans, 100, A
WinGet, aaa, Transparent, A

これでaaaはカラでした
133名無しさん@お腹いっぱい。:2006/10/06(金) 18:23:37 ID:mzPLbmZ60
指定ソフトがフォーカスが無くなったら終了させたいのですが、どなたか
参考になるスクリプトを知っている方はいませんでしょうか。
いちから組むにはあまりにも無知過ぎましてorz
134名無しさん@お腹いっぱい。:2006/10/06(金) 18:52:04 ID:8C1lgZim0
LOOP
{
 IfWinNotActive, ***
 {
  WinClose, ***
  ExitApp
 }
}
135名無しさん@お腹いっぱい。:2006/10/06(金) 18:55:46 ID:5OyeaAeR0
WinWaitNotActive使えばループ不要
136名無しさん@お腹いっぱい。:2006/10/06(金) 19:29:31 ID:mzPLbmZ60
レスありがとうございます。

>>134
仮にQuickMemoでやってみたのですが、下記スクリプトをAutoHotkey.iniに加えただけでは
駄目なのでしょうか?
QuickMemoが非アクティブ時に下記スクリプトをaaa.ahkで保存して実行すれば終了してくれました。

LOOP
{
IfWinNotActive,ahk_class QuickMemoClass
{
WinClose,ahk_class QuickMemoClass
ExitApp
}
}

>>135
流行らせるページにいってこれから勉強してきます。
137名無しさん@お腹いっぱい。:2006/10/06(金) 20:44:03 ID:aaXRtt9C0
>>133
OnMessage()
138名無しさん@お腹いっぱい。:2006/10/07(土) 15:55:39 ID:bxUzBgdg0
>>132
やっぱりそうですか、xp専用みたいですね
どうもありがとう。
139名無しさん@お腹いっぱい。:2006/10/10(火) 03:29:45 ID:Qsvpq3oj0
下記は他のアプリケーションを使用中でも、
スレイプニルで選択文字列をクリップボード経由で検索するスクリプトを書いたのですがうまくいきません。

ctrl + shift + c
これはクリップボードの文字列をグーグルで検索するショートカットです。
3の時がだめです。


;1スレイプニルアクティブ
#IfWinActive ahk_class SleipnirMainWindow
Send,{SHIFTDOWN}{CtrlDown} f
Send,{SHIFTUP}{CtrlUP}


;2スレイプニルは起動しているが非アクティブ
#IfWinExist ahk_class SleipnirMainWindow
Send,^c
WinWaitActive, ahk_class SleipnirMainWindow, , 2
Send,{SHIFTDOWN}{CtrlDown} c
Send,{SHIFTUP}{CtrlUP}


;3スレイプニルが起動していないときは、起動して検索、
#IfWinNotExist ahk_class SleipnirMainWindow
Send,^c
Run C:\Program Files\Fenrir & Co\Sleipnir\bin\Sleipnir.exe
WinWaitActive, ahk_class SleipnirMainWindow, ,5
Send,{SHIFTDOWN}{CtrlDown} c
Send,{SHIFTUP}{CtrlUP}
return
140名無しさん@お腹いっぱい。:2006/10/10(火) 04:33:58 ID:MAjC4DFB0
clipboard =
Send, ^c
ClipWait
Run www.google.co.jp/search?hl=ja&q=%clipboard%
return

sleipnirを標準にして上のじゃダメなの?
141名無しさん@お腹いっぱい。:2006/10/10(火) 07:40:37 ID:NQHK5GMa0
とりあえずWinWaitActiveのあとにスリープ3秒くらい入れてみ
142名無しさん@お腹いっぱい。:2006/10/10(火) 18:27:44 ID:3pdCll4j0
>>140
完璧です。
我が家の家訓とし、流儀の秘奥として、
未来永劫、万世一系にかたりついでいきます。

そんなシンプルなコードでよかったとは気づきませんでした。
勉強になりました。

>>141
ありがとう。
143名無しさん@お腹いっぱい。:2006/10/14(土) 22:27:48 ID:ScKFus9L0
アクティブなアプリをただ再起動するだけの機能が欲しいんですが、
AutoHotkeyでどうかけば実現できるかわかりません・・・
1.アクティブなexeのパスを取得
2.終了させる
3.ちょっと時間を置いてRun
でいいんでしょうか
144名無しさん@お腹いっぱい。:2006/10/15(日) 00:09:23 ID:6LN3XXta0
いいんじゃないの?
あえて言えば
> 3.ちょっと時間を置いてRun
を、3.ループを使って一定間隔で終了確認し、終了したらRun
にした方が良いかも。とりあえずそれで書いてみれば?
但し、AHK以外でもそうだけど、外部から終了させると
設定が保存されないものとかもあるからね。
145名無しさん@お腹いっぱい。:2006/10/15(日) 00:46:42 ID:BOj4q+pb0
WinClose使えば普通に終わるはず
逆にrun使うときのWorkingDirに注意
146名無しさん@お腹いっぱい。:2006/10/15(日) 00:48:34 ID:BOj4q+pb0
ありゃ、逆にって言ったら>>144を否定してるみたいだな
そういうつもりはないから気にさわったらごめん
147名無しさん@お腹いっぱい。:2006/10/16(月) 03:46:13 ID:HhK71sMi0
ElecomのUSBにPSコントローラつなぐアダプタで
PSコントローラ使う設定ファイル(自分用カスタマイズ)。
AnalogボタンOnで とりあえず左スティックでマウスカーソル。方向キーで矢印。

ちなみに
1:x 2:a 3:b 4:y 5:L2 6:R2 7:L1 8:R1 9:start 10:select 11:L3 12:L3

ttp://www.uploda.org/uporg549636.zip.html
〜〜〜
自作です
他スレにこれはっつけた後で使ってみて気がついたのですが
二つ同時に起動してても
これのDefault.ahkのほうがなぜか異常に反応が遅いのです
どの変がやばそうかご指摘いただけないでしょうか?
148名無しさん@お腹いっぱい。:2006/10/16(月) 04:17:47 ID:eITGZIZq0
>>147
流れてるYO!!
149名無しさん@お腹いっぱい。:2006/10/16(月) 14:04:36 ID:ma/7GZfG0
a.ahk
b.ahk
c.ahk
という3つのスクリプトが常駐状態で動いているとして
例えば a.ahk に設定したホットキーで b.ahk を終了させられますか?
150147:2006/10/16(月) 17:05:41 ID:OK7RcLE70
151名無しさん@お腹いっぱい。:2006/10/16(月) 18:05:58 ID:0m7ZnPfz0
>>149
何かオシャレな方法があるかもしれないけど
B.AHKの多重起動を許可しておいて
A.AHKのホットキーに

**::
RUN, ***AUTOHOTKEY.EXE B.AHK EXIT

とか書いておき、B.AHKの側で

IF 1 = EXIT
EXITAPP

ってのはどう?
152名無しさん@お腹いっぱい。:2006/10/16(月) 18:42:49 ID:eITGZIZq0
>>150
別に反応鈍いって事無い感じだけどなぁ

プレステの変換アダプタ持ってないので、うちで使ったのは
プレステのデュアルショックもどきのパッド。AN2PADSってやつ。


>>151
それ楽で良いですね。
あとは、スクリプト起動したらProcessコマンドつかって自分自身のプロセスIDを取得して
プロセスIDのリストをiniファイルに書き出して参照するぐらいしか思いつかない。
Section名をProcessIDとかにして、スクリプト名をキー名にしてPIDを格納。
153147:2006/10/16(月) 19:41:47 ID:OK7RcLE70
>>152
そすか・・・

なんか調子よいときはさくさく動くけど
10分ぐらいつかってると 反応がなくなって使い物にならなくなるときがあるのです
(それなのにもう一個のほうはさくさくカーソル動く、と。)
なんかまずいことでもしてるのかな・・・?とか思ったのですが。
154名無しさん@お腹いっぱい。:2006/10/17(火) 00:53:31 ID:xCJhoPcz0
このソフト、複数のジョイスティックを個別に識別してボタン登録できるの?
あと、アクティブなウインドウの
ウインドウクラスとか実行ファイル名とかで動作変えたりできるん?
155名無しさん@お腹いっぱい。:2006/10/17(火) 00:56:24 ID:7NMdgZ/00
>>154
どれもおk
156名無しさん@お腹いっぱい。:2006/10/17(火) 00:57:38 ID:xCJhoPcz0
おー。そうですか。じゃあがんばって使い方覚えようかな
157名無しさん@お腹いっぱい。:2006/10/17(火) 02:57:52 ID:KC0cNlhX0
>>153
分かった、たまに押しっぱなしになるみたい。同時起動は多分関係ないよ。

ホットキーのサブルーチンとタイマーサブルーチンの処理が重なったときに、
タイミングによっては押下されているのにフラグがリセットされてる状態になってるぽい。

OnLButton:
if(LBon==true)
return
J%LBkey% = D
Send, {LButton down}
LBon = %true%
return

って感じで押下処理してるサブルーチン全部修正すれば多分おk。
158147:2006/10/17(火) 15:40:59 ID:CramVeui0
>>157
THX
あとで見返してためしてみるです。
ありがとうございましたです。
159名無しさん@お腹いっぱい。:2006/10/17(火) 18:43:55 ID:KC0cNlhX0
>>158ちと修正。
>>157だと連続で押したときにタイマーの間隔に縛られるので、
連続で押されたら、すぐに解除するようにした方が良いかも。

OnLButton:
if(LBon==true){
Send, {LButton up}
LBon = %false%
}
J%LBkey% = D
Send, {LButton down}
LBon = %true%
return

のほうがレスポンスよくなると思う。ただ、これだとタイミングによってはUp動作が2重に発生するかもしれないけど、
そんなに問題はないかなーと思う。
160名無しさん@お腹いっぱい。:2006/10/17(火) 19:47:56 ID:rED2E8iE0
2つのキーを同時に押したことにするのはどうやるんですか
キーとキーの間にSetKeyDelay, -1入れてもまったく同時に押してくれない
161名無しさん@お腹いっぱい。:2006/10/17(火) 20:14:47 ID:DvyGEw/w0
右コントロールキーに、Ctrl+w と ↓(下矢印) を割り当てています。

RCtrl::Send, ^w{Down}

Ctrlキー+左クリックする時は、上記設定を無効にしたいのですが、できますのでしょうか?
マウスでの個別選択時に困りますので。
162名無しさん@お腹いっぱい。:2006/10/17(火) 20:19:59 ID:yZ9J7RBj0
>同時
片方を down したままもう一つをdownすればいいんじゃないの。
163名無しさん@お腹いっぱい。:2006/10/17(火) 20:40:47 ID:rED2E8iE0
>>162
それやったんだけど、最初の片方をダウンした時点で
最初の片方が先に入力されてるからだめだった
難しいかな
164名無しさん@お腹いっぱい。:2006/10/17(火) 20:58:23 ID:YaIOMU8r0
何がしたいんだ
アプリケーションが受け取るメッセージもイベント一つずつだから、全く同時なんて有り得ないだろ
165161:2006/10/18(水) 11:18:28 ID:mLDryStd0
以下文追加でできました。

~RCtrl & ~LButton::
166147:2006/10/18(水) 15:35:47 ID:FqPggZt00
>>159
それつかってみました。
今のところ大丈夫っぽいです。さくさく動くようになりましたです。
あんがとです。
167名無しさん@お腹いっぱい。:2006/10/18(水) 18:08:47 ID:37BEnU+X0
C-sで「本来のC-sの挙動」(ファイル保存)とCVSへのコミットをしたい場合、
どうすれば出来ますか?
「本来のC-sの挙動」を呼び出そうとしても無限ループになってしまうのですが。
以下、検証用の失敗例。
^s::
{
ToolTip, Multiline`nTooltip, 100, 150
SetTimer, RemoveToolTip, 1000
Sleep 2000
Send,^s
}
return
168名無しさん@お腹いっぱい。:2006/10/18(水) 18:13:28 ID:5L75FXz50
むりやり

^s::
{
Hotkey, ^s, Off
ToolTip, Multiline`nTooltip, 100, 150
SetTimer, RemoveToolTip, 1000
Sleep 2000
Send,^s
Hotkey, ^s, On
}
return
169167:2006/10/18(水) 18:23:08 ID:37BEnU+X0
>>168
おかげで動きました。
Hotkeyというがあったんですね。
ありがとうございました。
170161:2006/10/18(水) 20:51:23 ID:DGuY0nAP0
>>164
仕事で使ってる糞アプリがそうなってる
無理かな
171名無しさん@お腹いっぱい。:2006/10/18(水) 22:50:47 ID:BVaEhaZT0
じゃあ手で実際に入力する時には
ミリ秒もずれずに完璧に同時に押してるわけ?
172名無しさん@お腹いっぱい。:2006/10/18(水) 22:59:18 ID:LOfd5zE70
漏れも気になる。どんな作業やねん
173名無しさん@お腹いっぱい。:2006/10/18(水) 23:01:18 ID:TL3lHFYk0
>>170 これでどう? (aをやや長め押し)
a::
Send,{b down}{c down}
KeyWait,%A_ThisHotkey%,U
Send,{b up}{c up}
Return


WinGetで実行ファイル名の取得が出来るけど、フルパスの取得って出来ますか?
GetModuleFileNameEx(NT系)とか、CreateToolhelp32Snapshot(9x系)使わないといけないとなると
かなり頭痛い。
174名無しさん@お腹いっぱい。:2006/10/18(水) 23:38:19 ID:sj+yltRj0
>>170
ホットキーのリマップじゃなくて
SetTimer関数の中でGetKeyStateつかって判別するようにすればいんじゃないかな?
同時押しの誤差もTimerの間隔で調整できるし、
同時押しと判別したときはctrl単体押しの判別をしないようにすればいい。
175名無しさん@お腹いっぱい。:2006/10/18(水) 23:42:05 ID:wztnDzdE0
Alt+Tabとは違い、
キーを押すごとにウィンドウが順次切り替わるようなホットキーを考えています。
(リストがでないで直に切り替わる)

Send,#{Tab}{Right}{Enter}でいけると思ったんですが、
#Tabでフォーカスがいくウィンドウが、アクティブウィンドウではなくて
いまいちよくわからん動作をします。
176175:2006/10/18(水) 23:46:16 ID:wztnDzdE0
>いまいちよくわからん動作をします。

必ず左から2番目にフォーカスが移るようです。
177名無しさん@お腹いっぱい。:2006/10/18(水) 23:48:36 ID:CEPs60o00
Alt+Escでは
178175:2006/10/18(水) 23:51:16 ID:wztnDzdE0
>>177

恥ずかしい・・・
お騒がせしました。
179名無しさん@お腹いっぱい。:2006/10/18(水) 23:59:04 ID:4A5h6S6v0
>>160>>161じゃないの?
何かレスがごちゃまぜになってないか?
180名無しさん@お腹いっぱい。:2006/10/19(木) 00:05:19 ID:sj+yltRj0
            スポポポポポポーン!!!
      。     。
        。  。 。 。 ゚
       。  。゚。゜。 ゚。 。
      /  // / /
     ( Д ) Д)Д))

            スパパパパパパーン!!!!!!
         + ,,  *    +
    +※ + ∴  * ※ *
    *  * +※ ゙* ※ * +
   +  ※ ∴ * + * 
     ( Д ) Д)Д))
181名無しさん@お腹いっぱい。:2006/10/19(木) 02:07:08 ID:yXB9IyN40
>>166
調整版うp希望。
182160、170のレスも161じゃなしに160でした:2006/10/19(木) 18:17:36 ID:whSwIdXh0
>>171
どうなってるかは知らないけど、手動だと余裕でいける。完璧に同時なのかな
>>172
エロ系なので勘弁してください><
>>173
出来た、ありがとう
それにSetKeyDelay, -1足したら短く押しただけでもいった
a::
Send,{b down}
SetKeyDelay, -1
Send,{c down}
KeyWait,%A_ThisHotkey%,U
Send,{b up}
SetKeyDelay, -1
Send,{c up}
Return
183161:2006/10/19(木) 21:21:28 ID:CthH3HMc0
何かご用でしょうか?
184173:2006/10/20(金) 01:08:02 ID:7qG5cSND0
>>182
SetKeyDelayは他の部分にも影響するから初期値に戻しといた方が良いよ。

a::
SetKeyDelay, -1
Send,{b down}{c down}
KeyWait,%A_ThisHotkey%,U
Send,{b up}{c up}
SetKeyDelay, 10 ;初期値
Return
185名無しさん@お腹いっぱい。:2006/10/20(金) 02:12:37 ID:TlO9f0dQ0
ん?SetKeyDelayは、ホットキー押すたびに初期値に戻るんじゃなかったっけ?
186173:2006/10/20(金) 02:43:54 ID:7qG5cSND0
>>185
知らなかった。ありがとう。

>>182
ごめん。 SetKeyDelay, 10 ;初期値 の行はいらない。
普通に手でキーを押して離すまで 数10ms かかると思うから、SetKeyDelayじたいいらない気がするが…
187名無しさん@お腹いっぱい。:2006/10/20(金) 10:48:35 ID:aLwI4Dai0
手動でやって「完璧に同時」は無理。
だからエミュレート動作も大概はタイミングはアバウトでどうとでもなる。


そういえば流行らせるBBSで質問してた、「絶対に完全同期じゃないと」って
言ってたヤツはどうなったのか。そしてヤツは何がやりたかったのか…
188名無しさん@お腹いっぱい。:2006/10/20(金) 17:32:10 ID:WiNiJM8O0
Ctl+スペースを押したら、
Ctl+Shift+{Left}でカーソル左横の文字をコピーし、
tcpの適当なポートに、コピーした文字を書き込み
読込んだ文字をカーソル箇所に貼り付けることってできますか?
189名無しさん@お腹いっぱい。:2006/10/20(金) 17:35:01 ID:CUJvJUk/0
メモ帳で編集中のファイルのフルパスを知ることは可能でしょうか?
190名無しさん@お腹いっぱい。:2006/10/20(金) 18:12:40 ID:l12xLnIN0
>>189
知るだけで良いなら
CMDLine
ttp://www.easexp.com/cmdline/
menuHacker
ttp://hp.vector.co.jp/authors/VA026310/soft2.htm

AHK内でどうこうしたいなら多分APIとかそういうレベルかも
191160、182:2006/10/20(金) 18:42:33 ID:QmBjEUiz0
>>184-187
ありがとう
確かにSetKeyDelay, -1はいらないかもしれないw
192189:2006/10/20(金) 19:04:32 ID:CUJvJUk/0
>>190
情報ありがとうございます。
その2つのツールはプログラムの実行時に与えられた引数を得るもののようですね。
それだと、起動時にファイルパスを与えていない時には情報が得られないです。
「名前を付けて保存」や「開く」をした時にもファイルのパスを知る方法は無いでしょうか?
193名無しさん@お腹いっぱい。:2006/10/20(金) 19:18:53 ID:RxIh7MYU0
>>192
clipboard=%1%
run,%1%
exitapp

このスクリプトをコンパイルして、ファイルをドロップすると、フルパスがクリップボードに格納されてファイルが開く。
このEXEにTEXTを関連づけすると希望の動作になるのかな?
194189:2006/10/20(金) 19:32:26 ID:CUJvJUk/0
>>193
ありがとうございます。
でもその方法ですと、起動時に与えられたフルパスは得られますが、
編集中に「名前を付けて保存」や「開く」をした場合には
編集中のファイルが変わってしまい、新しいフルパスが得られないです。
195名無しさん@お腹いっぱい。:2006/10/20(金) 19:51:18 ID:aLwI4Dai0
フルパスをキャプションに表示できるエディタなら大概何とかなるけどね
どうしてもメモ帳じゃなきゃあかんの?
196189:2006/10/20(金) 20:03:20 ID:CUJvJUk/0
>>195
キャプション=タイトルバーですよね?
元々その方法を考えていましたが、どうせなら汎用性のあるものを作りたいと思いまして。
でもやっぱりこの方法が楽ですかね。
メモ帳にこだわるつもりは特にありません。
197名無しさん@お腹いっぱい。:2006/10/20(金) 20:05:08 ID:PPIvHtcc0
そこまで行くとダイアログを監視して
そこからフォルダーパスと
ファイル名を抜き出してストックしておくという感じかなあ
んん、でもフォルダーの名前はダイアログでも得られないかな…

フルパス表示のエディタに乗換えるってのはダメ?
198189:2006/10/20(金) 20:47:03 ID:CUJvJUk/0
>>197
おそらく、ダイアログからフォルダーパスが取得できないです。
やっぱりフルパスが表示されるエディタのみを対象とするのが一番ですか。
199173:2006/10/20(金) 23:20:47 ID:7qG5cSND0
>>187 >>191
単純に Send のみで上手くいかないアプリは、WM_KEYDOWN , UP を拾ってるんじゃなくて、
アプリがループ内で GetKeyState あたりでキーの押し下げ状態を調べている可能性が高い。
Send のみだと一瞬で押し離しを終了してしまうので、ループのタイミングにぶつからず取りこぼしてしまう。

同時押しが必要なわけじゃなく、Down 〜 Up 間の時間の長さが重要。
そういう意味では、
KeyWait,%A_ThisHotkey%,U の代わりに、
Sleep,50 ぐらいを入れた方が適切かもしれない。


>>198 これはどう? (オプションでフルパス表示に出来る)
ttp://www.vector.co.jp/soft/win95/personal/se223080.html
見た目も使用感もメモ帳そっくり。
200名無しさん@お腹いっぱい。:2006/10/20(金) 23:47:14 ID:WqCTAQer0
>>196
menuHackerの作者ですが、
色々考えたことがあるけど汎用性を求めると無りっぽ。
有力な方法としてはApiHookでOpenFileやReadFileあたりを監視するという手が有りそうな感じですが、
ReadFileなどで開かれるファイルは、エディターで編集するファイルとは限らず、設定ファイルなどの場合もあり得る。
また、複数のファイルを同時に開くタブ型エディタなどの存在もある。
パスを得られたとしてもなにをもって「開いたファイル」と決定すればいいのかが分かりません。
結局タイトルバーから取得という方法が無難な感じです。
201名無しさん@お腹いっぱい。:2006/10/20(金) 23:59:43 ID:WqCTAQer0
誤:OpenFile
正:CreateFile
202名無しさん@お腹いっぱい。:2006/10/21(土) 18:45:53 ID:UtFzN7Qt0
>>188
これおもろそうだな。
マルチな入力補填できそう。
ただネットワークはhttpしか対応していない模様・・・
URLDownloadToFile
203名無しさん@お腹いっぱい。:2006/10/21(土) 19:07:43 ID:qBWHLVqm0
>>202
DLL 呼び出せるじゃない
204名無しさん@お腹いっぱい。:2006/10/21(土) 19:27:15 ID:UtFzN7Qt0
>>203
どうやら俺もまったくわかっていないようだ・・・どうやんの?
205189:2006/10/22(日) 01:43:50 ID:70OqqiOt0
>>199
ありがとうございます。メモ帳みたいな使い勝手で良い感じですね。

>>200
作者さんでしたか! なるほど、参考になります。
確かに完全な汎用性を求めると無理そうですね。
複数ファイルを開いている場合などは特に。
206名無しさん@お腹いっぱい。:2006/10/22(日) 03:31:38 ID:3ZnhZDajP
%ClipBoard% の日本語が文字化けしません?
何か対処法はありますか?
207名無しさん@お腹いっぱい。:2006/10/22(日) 07:56:34 ID:Nu4fMX6E0
>>206
「なまず日記」にいくといいよ
208名無しさん@お腹いっぱい。:2006/10/22(日) 13:49:23 ID:3ZnhZDajP
>>207
行きました。野糞のフィギュアがありましたが??
209名無しさん@お腹いっぱい。:2006/10/23(月) 04:42:47 ID:8pMEiDP60
だからなんだよ
210名無しさん@お腹いっぱい。:2006/10/24(火) 10:01:18 ID:4zBdgcWS0
>>203
おねがいします。
ネットワークに書き込んで読込むのを教えてください!
211名無しさん@お腹いっぱい。:2006/10/24(火) 19:29:54 ID:IYCvVT7i0
板違い。1つも調べる気がないならあきらめろ。
212名無しさん@お腹いっぱい。:2006/10/24(火) 20:27:04 ID:W+lxbvo60
板違いだからこっちで聞け

スクリプト質問スレッド
http://lukewarm.s101.xrea.com/test/read.cgi/bbs/1095764510/
213名無しさん@お腹いっぱい。:2006/10/24(火) 22:58:56 ID:z/+fWi8z0
「AutoIt」ってソフトが紹介されてたんですが、パッと見AHKによく似てると思います。
ttp://fw.moongift.jp/review/i-2599.html
214名無しさん@お腹いっぱい。:2006/10/24(火) 23:44:43 ID:bmElGogR0
つーか元々AutoIt2から派生したソフトじゃなかったっけ?>AHK
ヘルプやチュートリアルにもAutoItユーザー向けに書かれてるページがあったような。
AHK2EXEなんて思いっきり AutoIt のロゴ入ってるし
215名無しさん@お腹いっぱい。:2006/10/29(日) 22:57:33 ID:Nz5CEo3hP
::hoge::形式の補完入力結果に{}を含めるにはどうしたらいいですか?
`{とエスケープしてもうまくいきません。
216名無しさん@お腹いっぱい。:2006/10/30(月) 01:49:36 ID:EjGZE/rV0
すごいよこれ

ノートパソコンのメディアキー対応プレイヤーを使用しないから
ほかに何か使い道が無いか探ってた。

今後ともよろしく。
217名無しさん@お腹いっぱい。:2006/10/30(月) 03:06:33 ID:BKaybGtp0
>>215
::hoge::{{}foobar{}}
218215:2006/10/30(月) 03:32:47 ID:tXSrRQgTP
>>217
やったー、できました。ありがとう。
219名無しさん@お腹いっぱい。:2006/10/30(月) 15:28:15 ID:UuRAj7yw0
>>216
kwsk
220名無しさん@お腹いっぱい。:2006/10/31(火) 00:36:17 ID:+tzBxHXE0
>>219
メディアキーは大抵のプレイヤーソフトに有効のはず

でも確かにDVD視聴くらいにしかあまり使わんわな。
221名無しさん@お腹いっぱい。:2006/10/31(火) 00:39:58 ID:bH0iRvTT0
付属ソフトとか入れなくても、メディアキーに好きな機能つけられるのは魅力だよな。
しかもアプリごとに機能かえたり出来るしな。
222名無しさん@お腹いっぱい。:2006/10/31(火) 10:46:33 ID:eVwzlkhQ0
>>221
ファイルくれよ
223名無しさん@お腹いっぱい。:2006/11/02(木) 06:28:35 ID:yD3phZQe0
>>219,222
流行らせるページ
キーリスト
224名無しさん@お腹いっぱい。:2006/11/03(金) 18:46:07 ID:mHD0hI1C0
AutoHotkeyを使い
gdi++経由で、kiki(ブラウザ)を起動させたいのですが、
パスのをどのように指定すればよいのでしょう。
225名無しさん@お腹いっぱい。:2006/11/03(金) 20:35:45 ID:BLfeH4e50
バッチファイルで引数にプログラム名書けばいいだけじゃないの。
226名無しさん@お腹いっぱい。:2006/11/04(土) 00:32:00 ID:JI9GIwTY0
Autohotkey.exeにスクリプトの引数を送って実行する事ってできませんか?
例えば
"C:\AutoHotKey.exe" "WinShow, ahk_class ConsoleWindowClass" みたいに
.ahkファイル作ってもいいんですが、小さなスクリプト何種類も作るのは億劫なので
こうゆう使い方が出来るんだったらもっと便利なんですが…
227名無しさん@お腹いっぱい。:2006/11/04(土) 00:53:50 ID:BAaPqM5W0
こんなのを「argcommand.ahk」とかで作成

 #NoTrayIcon
 %1%
 ExitApp

こんな風に実行で、

 Autohotkey.exe argcommand.ahk "WinShow, ahk_class ConsoleWindowClass"

できるかな?
228名無しさん@お腹いっぱい。:2006/11/04(土) 20:25:52 ID:OoX5ZihQ0
文字列をAHKコマンドで実行とかって無いと思ったが、、
よく使う手は一時スクリプトファイルを作るやり方かな

バッチ:
 @echo off
 echo %1 %2 %3 %4 %5 %6 %7 %8 %9 > tmp.ahk
 %AHK_HOME%\ahk.exe tmp.ahk
 del tmp.ahk

AHK:
 #NoTrayIcon
 FileAppend, %1% %2% %3% %4% %5% %6% %7% %8% %9%, tmp.ahk
 Run, tmp.ahk
 FileDelete, tmp.ahk
 ExitApp
229名無しさん@お腹いっぱい。:2006/11/04(土) 20:45:58 ID:acTVmk+Y0
>>225
ありがとうございました。
バッチリ起動できました。
230名無しさん@お腹いっぱい。:2006/11/04(土) 23:21:35 ID:5v+RwZ+S0
>>226-227
Autohotkey.iniに直に %1%とか書いて取出したらいいんちゃうか?
231名無しさん@お腹いっぱい。:2006/11/04(土) 23:33:27 ID:5v+RwZ+S0
命令文自体を引数で取得したいのか。
自分の場合、引数じゃなくてiniから取ろうとしたんだが

cmd := %1%
ifEqual cmd,Send, Send, %2%
Else ifEqual cmd,Gosub, Gosub,%2%
Else ifEqual cmd,Run, Run,%2%,%3%,%4%


ていうのを昔やろうとして面倒くさくて止めた記憶がある。
232名無しさん@お腹いっぱい。:2006/11/05(日) 01:25:28 ID:UDdcmRPm0
2つばかりいい?

パソコン起動時にスクリプトを実行できる状態にすることと、
特定のキー操作をマウスのボタン操作に割り当てることって可能ですか?
233名無しさん@お腹いっぱい。:2006/11/05(日) 01:31:06 ID:ilFB66Ke0
>>232
1つ目:スタートアップに入れる。これはAHKとか関係ないWindowsの機能。
2つ目:LButton:: Send, 〜などで可。
234名無しさん@お腹いっぱい。:2006/11/05(日) 02:46:38 ID:OYzw4MGc0
>>233
言い方が悪くて誤解させましたことをわびます。
2つ目はキーボード操作をマウスのクリックボタン(サイドボタンなど)に割り当てられるかということです。

マウスドライバの相性が悪くてサイドボタンが使えない状態なので。
235名無しさん@お腹いっぱい。:2006/11/05(日) 02:51:02 ID:ilFB66Ke0
236名無しさん@お腹いっぱい。:2006/11/05(日) 04:10:59 ID:OYzw4MGc0
>>235
試してみました。

マウス環境はロジクールなのですが、
サイドボタンが反応しないアプリが多々あるので
サイドボタンにショートカットを割り当て、それをキーフックしました。

すると割り当てのキーをAlt+Ctrl+Shift+何らかのキーにしたせいか
それぞれのキーが残った状態でサイドボタンを起動した状態になってしまいました。

ほかの手段を探ってみたいと思います。
237名無しさん@お腹いっぱい。:2006/11/05(日) 09:10:42 ID:GZcT79+H0
マウ筋のが簡単かもね
238名無しさん@お腹いっぱい。:2006/11/06(月) 20:13:55 ID:+6zIPo4d0
正規表現きた?
239名無しさん@お腹いっぱい。:2006/11/06(月) 21:06:26 ID:wHiYDLfP0
Nov 4, 2006 Version 1.0.45 adds support for regular expressions
240名無しさん@お腹いっぱい。:2006/11/07(火) 01:03:52 ID:0YY5hWcP0
#IfWinActiveの解説にある

> 通常、「a & b」のようなコンビネーションキーを指定していると、
> プレフィクスキー(先に書かれた方のキー)の本来の機能は無効になる。
> しかし、そのキーをプレフィクスとして使用するコンビネーションキーが
> 全て条件により無効になっているときは、そのキー本来の動作が行われる。

がどういう状況かいまいちわかりません。
241233:2006/11/07(火) 02:29:21 ID:bTKmlVUa0
>>237
マウ筋じゃサイドボタンすら拾えないのよ・・・・・
どうもあくまでロジのサイドボタンのドライバは
(普通の)サイドボタンと認識するのはMS謹製のみの対応のようで。

仕方ないのでAlt+左右を登録で代用した。
一部テキストエディタでAltが反応してしまうけど、がまんすっか。

すれ違いスマソ。
242名無しさん@お腹いっぱい。:2006/11/07(火) 08:31:48 ID:6VPi8FwT0
#IfWinActive, foo
a&b::x
a::y
みたいにしてると foo において a::y は無効になるけど、
#IfWinActive, bar
a::x
のように別の #IfWinActive で記述してある a は有効になるって
ことだと思うよ。
243名無しさん@お腹いっぱい。:2006/11/08(水) 12:56:51 ID:b3Kgol410
暇だから適当にお題出して、ワンレススクリプト書こうぜ
244名無しさん@お腹いっぱい。:2006/11/08(水) 14:48:36 ID:Fhxp73TL0
じゃあミドルボタンダブルクリックで俺が就職できるってのを頼む
245名無しさん@お腹いっぱい。:2006/11/08(水) 23:01:59 ID:fvuIgEk90
Loop
{
 MsgBox, ハロワ!ハロワ!ハロワ!
}
246名無しさん@お腹いっぱい。:2006/11/09(木) 00:15:12 ID:r8OUGD2I0
247名無しさん@お腹いっぱい。:2006/11/10(金) 12:42:11 ID:pW3/jaUB0
やりたいことがあってini書いてみたんです

やりたいこと
ブラウザで文字列を選択
Contrl+Shift+Aを押すと
構造化エディタ(sted)の新しいセクションにその文字列を貼り付け
ただしそれを常にsted-memo.txt でやりたい


で書いてみたのが
^+a                          ;Contrl+Shift+Aキーに割り当て
bk=%ClipboardAll%                ;クリップボードの内容をバックアップ
Clipboard=                     ;クリップボードをクリア
Send,^c                       ;Ctrl+Cキーを送信
ClipW                        ;クリップボードにテキストが格納されるまで待機
Process,Exist,G:\program\Sted\sted.exe  ;stedが起動しているかどうかを調べる
If ErrorLevel<>0                 ;起動していた場合(ErrorLevel変数にプロセスIDが格納される)
    WinActivate,ahk_pid %ErrorLevel%  ;そのプロセスのウィンドウをアクティブにする
else                         ;起動していなかった場合
    Run,G:\works\sted-memo.txt ;    ;memoを開く、stedで関連づけ前提
Send,^F10                     ;新しいセクションを追加する、F10
Send,^v                       ;クリップボードの内容を貼り付ける、Ctrl+V
Clipboard=%bk%                  ;バックアップした内容を書き戻し
return

どうすればうまくいきますか?
248名無しさん@お腹いっぱい。:2006/11/10(金) 14:30:52 ID:+i3gsFio0
>どうすればうまくいきますか?
まずはどこまで上手くいってるのかステップごとに追って調べたら?

とりあえず気になったとこ
Send,^F10 → Send,{F10}
249名無しさん@お腹いっぱい。:2006/11/10(金) 14:37:39 ID:e+ZnU0JF0
それだけじゃわかんないお><
250名無しさん@お腹いっぱい。:2006/11/10(金) 14:38:50 ID:e+ZnU0JF0
あ、ゴメン、先客が入った
251名無しさん@お腹いっぱい。:2006/11/10(金) 15:56:35 ID:FWtaJ/jg0
待機はclipwじゃなくてclipwaitな
252名無しさん@お腹いっぱい。:2006/11/10(金) 17:12:46 ID:a6XNRPiB0
ProcessのName指定はフルパスじゃなくてファイル名じゃないかしら
253名無しさん@お腹いっぱい。:2006/11/10(金) 17:20:10 ID:1yAKwU2m0
小分けにして動くかどうか確認するのはデバッグの基本だよ。
254名無しさん@お腹いっぱい。:2006/11/10(金) 18:17:57 ID:SgxhYS1n0
>>247
いきなりコピペでガンガン書いても出来るわけがない
MsgBoxで変数の確認とかしながら少しずつ作っていこうよ
255名無しさん@お腹いっぱい。:2006/11/10(金) 19:39:31 ID:0LyFkbR00
流行らせるページのmiscスレでも報告してますが、
ダウンロード版マニュアルをchm化しました。
改めて管理人氏に感謝。
ttp://kasamatu.o0o0.jp/pochi/src/hajime5273.zip.html
256255:2006/11/10(金) 19:40:43 ID:0LyFkbR00
あ、受信パスはAHKです。すいません。
257247:2006/11/11(土) 00:55:24 ID:HtBOJaRv0
>>254
流行らせるページとか見ても難しくて( ´兪)
ここが参考になるとか、まずはこういうことからやってみるといいよとか
何かヒントはありませんか?
258名無しさん@お腹いっぱい。:2006/11/11(土) 01:12:49 ID:rgrWnnAY0
>>255
もらった。サンクス。

>>257
>>255のヘルプとにらめっこ。
その後は他の人のスクリプトを眺めるといいんじゃないかな。
259名無しさん@お腹いっぱい。:2006/11/11(土) 01:14:18 ID:vkO1CS6I0
やりたいことがあるんだから >>247 をやってみればいいんじゃないの。

あとプログラムの経験がどれだけあるか知らないが
いきなり >>247 みたいに全部書いて
なんか知らんが動きませんとかいうのはよくない。
書き方が不安なら、確実に動くものに少しずつ付け足していって
失敗した所の書き方を改めて調べればいい。

そもそも hotkey の当て方が間違ってる。
^+a::
msgbox,hoge
return
こんな風に書く。
260名無しさん@お腹いっぱい。:2006/11/11(土) 01:29:07 ID:nyjMebWH0
おまいには 248-254 あたりレスが見えんのか?
アドバイスとヒントだらけだろうが
261名無しさん@お腹いっぱい。:2006/11/11(土) 01:29:37 ID:nyjMebWH0
260は >257へのレス
262名無しさん@お腹いっぱい。:2006/11/11(土) 01:49:01 ID:3Q4M0okT0
>>255、パスいれても落ちてこないんだけど。
263名無しさん@お腹いっぱい。:2006/11/11(土) 02:05:30 ID:dMYiayHS0
さては笠松さん使ったことないな
自分が何をしたいのかを考えて表示されたページをよくみれ
264名無しさん@お腹いっぱい。:2006/11/11(土) 09:25:12 ID:zF4y4uTC0
>>262
小さく「ダウンロード」の文字があるのでさがしなさい
265262:2006/11/11(土) 16:20:44 ID:3Q4M0okT0
>>263-264
ああ!レスをふまえてしばらく眺めてたら分かった!!
おかげさまで無事落とせました。どうもありがとっす。
ここは使ったことなかった・・・

あと>>255さん、ヘルプナイスです。
266247:2006/11/11(土) 16:47:29 ID:HtBOJaRv0
たびたびすみません
^+a::
Send,^c
ClipWait
Run,G:\works\sted-memo.txt
return

^+b::
Send,{F10}
Send,^v
Send,^s
Send,!fx
return
これで二回の操作に分ければ、
やりたいことができました。
これをどうにかつなげたいんですが。

^+a::
msgbox,hoge
Send,^c
ClipWait
Run,G:\works\sted-memo.txt
WinWait,ahk_class appwnd
--ここまで動く--
Send,{F10}
Send,^v
Send,^s
Send,!fx
return

F10が押されないorz
267名無しさん@お腹いっぱい。:2006/11/11(土) 16:57:25 ID:vkO1CS6I0
そのプログラムをアクティブにするとか
数秒待つとかしてみたら?
268名無しさん@お腹いっぱい。:2006/11/11(土) 17:22:38 ID:JbxY/Mln0
FileAppendじゃいかんのかねぇ
269名無しさん@お腹いっぱい。:2006/11/11(土) 20:12:56 ID:M5xD/3oX0
WinWaitActive,ahk_class appwnd
IfWinNotActive,ahk_class appwnd
WinActivate,ahk_class appwnd
Send,{F10
270名無しさん@お腹いっぱい。:2006/11/12(日) 05:21:57 ID:rdB3AhDT0
ネットランナー 2006年11月号を見てたら、「Autohotkeyを流行らせるページ」管理人氏が
ネットランナーの年間フリーウェア大賞の選考委員を務めていたのにはワラタ。
しかも、そのプロフィールにもさらにワラタ。
271名無しさん@お腹いっぱい。:2006/11/12(日) 11:38:55 ID:3HV3BxX20
>>270
うpしる
272名無しさん@お腹いっぱい。:2006/11/12(日) 11:58:38 ID:Ody7r/110
カーソルで小さな円を描くと、右回しで下、左回しで上にスクロールする。三点を通る円の中心で判定してる。

limit=50 ;大きくすると判定が緩くなる
settimer,scroll,50 ;小さくすると反応が良くなる
return

scroll:
last:=(x2-ox2)*(y2-y1) ;前回の回転方向。正なら右、負なら左
x1:=x2
y1:=y2
ox1:=ox2
oy1:=oy2
c:=a
d:=b
mousegetpos,x2,y2
a:=-(x2-x1)/(y2-y1) ;垂直二等分線の傾き
b:=(y1+y2-a*(x1+x2))/2
ox2:=(d-b)/(a-c) ;外接円の中心座標
oy2:=a*ox2+b
;前回の中心座標と今回の中心座標の距離
dis:=Sqrt((ox2-ox1)*(ox2-ox1)+(oy2-oy1)*(oy2-oy1))
if (dis<>0 && dis<limit)
{
if ((x2-ox2)*(Y2-Y1)>0 && last>0)
send,{wheeldown}
if ((x2-ox2)*(Y2-Y1)<0 && last<0)
send,{wheelup}
}
return

esc::exitapp
273名無しさん@お腹いっぱい。:2006/11/12(日) 11:59:45 ID:NpcG1GjR0
よくわからんがアニメに造形が深いのは氏のページ見て理解した。
274名無しさん@お腹いっぱい。:2006/11/12(日) 22:48:08 ID:TknU/a+00
>>266

WinWaitはウィンドウのアクティブ化を待つコマンドではないよ。
ウィンドウが存在するようになるのを待っているだけ。
だからウィンドウが最前面に来る前にF10が押されているんだろう。

「--ここまで動く--」の次に長めのsleepを入れて試してみる。
それで動くならウィンドウが最前面に来る前にF10が押されてしまっている。
>>267の言うとおり、ちゃんとウィンドウがアクティブになるのを待つような
スクリプトになっていないのが原因。
WinWaitActiveでウインドウがアクティブになるのをちゃんと待つか、
必要ならWinActivateを使って意識的にアクティブ化する。
アクティブ化に失敗した時のエラー処理も入れておくとさらによい。
275名無しさん@お腹いっぱい。:2006/11/12(日) 23:48:00 ID:HMJoK/3s0
>>272
これおもしろいな
ホイールに使うと誤爆が多くて駄目だけど
2回転したらアクティブなアプリを切り替えるとかに使うと便利そう
276名無しさん@お腹いっぱい。:2006/11/12(日) 23:59:38 ID:YFISV6Yb0
>>274
Sleep, 1000を挟んだら動きました。
でも>>269だと
なぜかうまくいきませんでした。
あとは
Run,G:\works\sted-memo.txt
ではなくて
Run,G:\program\Sted\sted.exe
にしてG:\works\sted-memo.txtを開くには
どうすればいいですか?
もうほんと教えて君で申し訳ない↓
277274:2006/11/13(月) 00:57:50 ID:kVmBIxWW0
>>276

> でも>>269だと
> なぜかうまくいきませんでした。

人が書いたモノをコピペするんじゃなくてちゃんとリファレンスを読んで
WinWaitActiveやWinActivateの使い方を理解したほうがいいよ。
>>274で書いたようにちゃんとウィンドウがアクティブになるのを待つような
スクリプトにすれば動くはず。>>269が悪いわけじゃない。

> Run,G:\works\sted-memo.txt
> ではなくて
> Run,G:\program\Sted\sted.exe
> にしてG:\works\sted-memo.txtを開くには
> どうすればいいですか?

そのソフトがコマンドラインからファイル名を指定して実行するときは
どうやればいいか自分で調べてください。それと同じ書き方をすれば
できるはずです。
278名無しさん@お腹いっぱい。:2006/11/13(月) 13:30:42 ID:Y0srq4Tn0
救いようがない。
279名無しさん@お腹いっぱい。:2006/11/13(月) 19:32:46 ID:58YCItxT0
人間がやるオペレーションをそのままコマンドに出来る
ってのがAHKのいいところではあるんだけど

実行した結果、手オペでやったのと同じ、
ってスクリプトを生成するって方が楽なときって結構ある。

>>247 のやりたい事って「貼り付け」じゃなくてファイルへの
追記なんだから FileAppend使えばすぐ終わりそう。
セクションはタブか半角スペースを最初につけるだけでいいらしいし。
280名無しさん@お腹いっぱい。:2006/11/14(火) 10:59:17 ID:GN3iNbyX0
いま窓使いの憂鬱使ってるんだけど、両方使うと不具合出ますかね?まじで
281名無しさん@お腹いっぱい。:2006/11/14(火) 11:33:09 ID:4WaeZksY0
機能を実装してるレイヤが違うから、
ちゃんとわかってる人が使うなら何の問題もない。

と言う話が繭スレで出てるからそっちも読んでこい。
282名無しさん@お腹いっぱい。:2006/11/14(火) 12:00:27 ID:GN3iNbyX0
そいつはすげぇや。俺もコレ使うよ。ありがとうという気持ち。まじで
283名無しさん@お腹いっぱい。:2006/11/14(火) 12:21:50 ID:4WaeZksY0
>>282
ああ、捕捉しておくと、KB->繭->AHK->アプリと言う順で処理されるから、
そこのところ考えて使ってね。
284名無しさん@お腹いっぱい。:2006/11/14(火) 14:21:12 ID:TIZcWUeL0
>>279
ええと構造化エディタは
半角スペースだけの行が入ると次のページ
タブだけの行が入るとそこからが子ページ
ってなってて

^+a::
Send,^c
ClipWait
FileAppend,  
%Clipboard%, *G:\works\sted-memo.txt
return

ってやるとエラーになる
htmlでいう<br>みたいなのってないですか?
改行のテキストを入れたい。
すれ汚しスマソ
285名無しさん@お腹いっぱい。:2006/11/14(火) 14:40:08 ID:1uXm2DSV0
^+a::
Send,^c
ClipWait
FileAppend, %A_Tab%`r`n%Clipboard%, G:\works\sted-memo.txt
return

スペースなら%A_Space%で。
286247:2006/11/15(水) 12:21:23 ID:xBRhszmT0
できたぁ(´・ω;)。゜.゜
レスくださったすべての皆さんありがとう。
これからも精進します。
287名無しさん@お腹いっぱい。:2006/11/15(水) 13:53:38 ID:PzeNBU5g0
セミコロンとかコロンとか"\"をホットキーで割り当てるときとかってどうするんですか?

たとえばシフトとセミコロンをDownに割り当てたいときです
288名無しさん@お腹いっぱい。:2006/11/15(水) 14:10:10 ID:sNu6OaH60
なんでリファレンス読まないの?
289名無しさん@お腹いっぱい。:2006/11/15(水) 14:15:14 ID:PzeNBU5g0
>>288
リファレンスってヘルプ?
探したけど見つからなかったんです 。
何処に書いてます?
290名無しさん@お腹いっぱい。:2006/11/15(水) 14:22:35 ID:RFXgPOZc0
>>289
ttp://lukewarm.s101.xrea.com/KeyList.html
このページのどことか言わないでよ。
291名無しさん@お腹いっぱい。:2006/11/15(水) 14:36:16 ID:PzeNBU5g0
>>290
あー!
ありがとう。

付属のヘルプにはそういうの書いてなかったな。

Note: The names of the letter and number keys are the same as that single letter or digit. For example: b is the "b" key and 5 is the "5" key.
292名無しさん@お腹いっぱい。:2006/11/15(水) 21:22:26 ID:XS+JNIPY0
おれはキーの配置変更は繭、それ以外はAHKでやるように使い分けてる。
293名無しさん@お腹いっぱい。:2006/11/16(木) 20:24:01 ID:pgdIDMm30
正確になんていうか知らないんだけど、システムリソース(メモリー)の使用率って取得できるんですか?

windows 98です。
294素人の見様見真似につき実行は自己責任で:2006/11/17(金) 13:18:07 ID:brAGGsKw0
; 参考:
; http://msdn2.microsoft.com/en-us/library/aa366586.aspx
; http://msdn2.microsoft.com/en-us/library/aa366772.aspx

; http://lukewarm.s101.xrea.com/commands/DllCall.htmlから
; ExtractInteger()の定義をコピペすること

GetMemSt(i = 1)
{
if i is not integer
return
if i not between 1 and 7
return

VarSetCapacity(MEMORYSTATUS, 32)
DllCall("GlobalMemoryStatus", Str, MEMORYSTATUS)

return ExtractInteger(MEMORYSTATUS, i*4, 0, 4 )
}

MsgBox, % "メモリ使用率:`t" . GetMemSt() . "%`n"
. "物理メモリ容量:`t" . GetMemSt(2) . "byte`n"
. "空き物理メモリ:`t" . GetMemSt(3) . "byte`n"
. "ページングファイル容量:`t" . GetMemSt(4) . "byte`n"
. "空きページングファイル:`t" . GetMemSt(5) . "byte`n"
. "仮想メモリ容量:`t" . GetMemSt(6) . "byte`n"
. "空き仮想メモリ:`t" . GetMemSt(7) . "byte"
295名無しさん@お腹いっぱい。:2006/11/17(金) 13:25:10 ID:brAGGsKw0
各値の意味はMSDNの構造体メンバ名から
適当に推察しただけなんで間違ってるかも…
296名無しさん@お腹いっぱい。:2006/11/17(金) 14:43:47 ID:ZTeRDwNE0
思えばしずちゃんの芸風ってメンバ名のぱくりだな
297名無しさん@お腹いっぱい。:2006/11/17(金) 15:43:29 ID:WbvwRHx30
流行らせるページのMyScriptsにすでにある
298名無しさん@お腹いっぱい。:2006/11/18(土) 04:38:27 ID:86SL7Vwt0
AutoHotkeyの文法って既存のプログラム(スクリプト)言語だとどれに似てる?
CでもBASICでも無いっぽいし
299名無しさん@お腹いっぱい。:2006/11/18(土) 09:40:28 ID:MGVyzeaT0
Cだろ
300名無しさん@お腹いっぱい。:2006/11/18(土) 12:05:51 ID:C8Ony9hz0
301名無しさん@お腹いっぱい。:2006/11/19(日) 17:31:11 ID:Nxav7MOS0
>>294
ありがとう御座います。
試してみます。
302名無しさん@お腹いっぱい。:2006/11/20(月) 06:59:47 ID:Y031Ee7f0
起動するとタスクに表示される「H」というアイコンを表示させないようにするにはどうすれば・・・
303名無しさん@お腹いっぱい。:2006/11/20(月) 08:54:36 ID:+jGomoUV0
AHKファイルの先頭に
#NoTrayIcon
を追記しましょう
304名無しさん@お腹いっぱい。:2006/11/21(火) 00:03:58 ID:vWgr7/qT0
>>303
サンクスです
305287:2006/11/22(水) 20:15:29 ID:6Cf6H9nn0
>>287なんですけどセミコロンは出来たのですがコロンができない。
下の何処がわるいのでしょうか?

`::: send, {up}

(バクチク?)(コロン)(コロン)(コロン)
306名無しさん@お腹いっぱい。:2006/11/22(水) 21:40:06 ID:U6JwspGX0
ねえ、これ例えばa::sっていうahk起動させてるときに
タスクトレイに入ってるアイコン右クリックからPause script選んでも
全然一時停止にならない

Pause Scriptってa::sの機能を一時停止して、普通にa押したらaになるってことだよね?
307名無しさん@お腹いっぱい。:2006/11/22(水) 22:40:26 ID:rnxUj86h0
> Pause Scriptってa::sの機能を一時停止して、普通にa押したらaになるってことだよね?
いいえ。
Pause Scriptの名の通り、現在処理中(ループ中とかsleepなどで待機中とか)のスクリプトを
一時停止するだけで、スクリプトの実行を受け付けなくなるなるわけじゃない。

先に言っておくが、「じゃあ、一時的に無効化するにはどうすればいいの」とか
すぐに聞き返してこないでね。まずは自分で調べよう。
308名無しさん@お腹いっぱい。:2006/11/22(水) 22:51:34 ID:U6JwspGX0
>>307
えっ、「じゃあ、一時的に無効化するにはどうすればいいの」が聞きたかったのですが。。。
仕方ない調べてくるか

λ........
309名無しさん@お腹いっぱい。:2006/11/22(水) 23:08:39 ID:U6JwspGX0
分かったお( ^ω^)
a::s
^!s::Suspend
return

で出来たお、ありがとお
310名無しさん@お腹いっぱい。:2006/11/23(木) 00:07:17 ID:yuMMp1Ii0
よくわからんが右クリでsuspend scriptするだけじゃ駄目なの?
311名無しさん@お腹いっぱい。:2006/11/23(木) 00:07:52 ID:yuMMp1Ii0
修正 suspend script -> Suspend Hotkeys
312309:2006/11/23(木) 01:18:22 ID:oQaWgZ400
>>310-311
おお、なんてこったい/(^o^)\
Pause Scriptにばっかり目いってそんなのあるって気付かなかったよ
313名無しさん@お腹いっぱい。:2006/11/23(木) 01:18:57 ID:75GCfq2E0
なぜ人が自立するのを阻害するのか…
314名無しさん@お腹いっぱい。:2006/11/23(木) 02:06:02 ID:9f7URAXs0
一応自分で考えて結論出した後でのアドバイスだからいいんでね?
315307:2006/11/23(木) 02:17:09 ID:E5B7gUJp0
余計な事するんじゃないよ。
316名無しさん@お腹いっぱい。:2006/11/23(木) 02:19:35 ID:NCIM1Le40
>>315
君、誰?
317名無しさん@お腹いっぱい。:2006/11/23(木) 02:32:51 ID:j/rjXZNf0
踊らされたねw
318名無しさん@お腹いっぱい。:2006/11/25(土) 15:41:40 ID:21DEIaGg0
豆腐うめえええええええええええええええええええええええええええええええええええええええええええええ
319名無しさん@お腹いっぱい。:2006/11/27(月) 15:00:27 ID:G/0Gd2Ar0
capslockからプログラムを起動できないのでしょうか。

capslock::
Run,C:\Documents and Settings\〜\fenrir064\fenrir.exe,C:\Documents and Settings\〜\fenrir064

これだとうまく機能しないのですが起動するキーをF1とか他のキーにするとうまくいきます。
320名無しさん@お腹いっぱい。:2006/11/27(月) 15:44:14 ID:FmIZJXCN0
特殊なキーだからね
ウチでも出来ないよ
321名無しさん@お腹いっぱい。:2006/11/27(月) 16:06:52 ID:jJEyp8L40
うちは「vkF0sc03A」でいけるけど
322名無しさん@お腹いっぱい。:2006/11/27(月) 18:05:39 ID:JBWLm+ks0
アクティブをWinHideで消した後、
消したウィンドウがアクティブになってしまっているのが結構不便。

DetectHiddenWindows,off
WinHide,A
WinGet,lst,List,,,abcdefg ;存在していないであろうタイトル
Loop,%lst%
{
 whnd:=lst%A_Index%
 WinGetClass,cls,ahk_id %whnd%
 if(cls!="Shell_TrayWnd") ;タスクバー
 {
  WinActivate,ahk_id %whnd%
  Break
 }
}
return

一応これで消したウィンドウの1つ後ろがアクティブになりますが、
もっと簡単な方法ありません?
323名無しさん@お腹いっぱい。:2006/11/27(月) 19:20:35 ID:W+BJm+CZ0
英数をCtrlにShift+英数をCapsLockにできますか?
324名無しさん@お腹いっぱい。:2006/11/27(月) 22:03:16 ID:tJp2EjNw0
マウ筋とAHKを併用してます
RWheelUpなどをAHKに割り当てるとマウ筋にイベントが渡らなくなるんですが
良い方法ありますか?
~RWheelUp や ~WheelUp & RButton だと後でコンテキストメニューが出るので
keywait使ってaltで消したりなど試しましたが希望の動作にはなりません。
なんどか挑戦して挫折を繰り返してるので気になってるだけなんですけどね

Loopを使った引数渡しで送られた引数をスペースで区切って加えていき
アプリケーションに渡して起動という動作をしたいのですが、
%%A_index%%みたいに二重に変数の中身を取り出すは出来ませんでした。
if a_index = 1 のように条件を指定し一つずつ作らないとダメでしょうか?

>>322
WinHideはほとんど使わないんで試してないんですが、
消した後にSend,!{tab}では一瞬タスク切り替え画面が出るからだめかな?
325322:2006/11/27(月) 22:12:36 ID:JBWLm+ks0
>>324
>消した後にSend,!{tab}では一瞬タスク切り替え画面が出るからだめかな?

なるほど。その手がありましたか。
Send,!{Esc}だと切り替え画面も出ずに期待通りの動作になりました。
ありがとうございます。
326名無しさん@お腹いっぱい。:2006/11/27(月) 22:24:45 ID:ZW/ba8dW0
>>319,>>323
>>86
要はCapsキーが押し下げられたことは認識できても、離されたことは認識できないから変なことになる。
こればっかりはOS側が対処してくれないと、どうしようもないのかも知れない。
327名無しさん@お腹いっぱい。:2006/11/27(月) 22:32:37 ID:fvZb4Pv+0
328324:2006/11/27(月) 22:59:53 ID:tJp2EjNw0
>>322
!{ESC}で表示無しは忘れてました
活用させて貰います
ありがとう御座います

>>324
外出でしたか、すみませんでした
落ちてるみたいなんでこれから見れる方法探してみます
ありがとう御座いました
329名無しさん@お腹いっぱい。:2006/11/27(月) 23:43:20 ID:maSTHrVK0
225 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2005/11/26(土) 21:01:35 ID:TeG9pCZU0
>>224
引数を「"」で囲めばだいたい解決すると思いますが

Loop, %0%
{
Part := %A_Index%
Unite = %Unite%%Part%%A_Space%
}

MsgBox, "%Unite%"

どうしようもない場面では
「0」に引数の数が入るのでこんなのでどうにかしてます。
330名無しさん@お腹いっぱい。:2006/11/27(月) 23:44:56 ID:maSTHrVK0
234 名前:名無しさん@お腹いっぱい。[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%
331324:2006/11/28(火) 00:12:05 ID:24sml1zm0
maSTHrVK0さん ありがとう御座います
少し前に見つけてDllCallのほうを試すのに熱中してました。 すみません
お気遣いが嬉しかったです 感謝します
332名無しさん@お腹いっぱい。:2006/11/28(火) 00:32:04 ID:nLxHOkEz0
英語版のwindowsならCapsLockとCtrl入れかえられるという話を聞いたことがある。
333名無しさん@お腹いっぱい。:2006/11/28(火) 01:39:49 ID:hSp3Kiwj0
過去ログでさんざん既出だお
Windows日本語版の問題
334名無しさん@お腹いっぱい。:2006/11/29(水) 20:18:54 ID:ncW6w2aN0
マウスの不調でLButtonがダブルクリックになるのを回避したいのですが、
~LButton::return
LButton up::
BlockInput, on
sleep,80
BlockInput, off
return
これだと装飾キー+クリックしたときに装飾キーが押しっぱなし状態になる
のでBlockInputを使わないアイディアをよろしくを願いします。
マウス買えはなしの方向で
335名無しさん@お腹いっぱい。:2006/11/29(水) 20:23:11 ID:HhTG29PB0
マウス盗め
336名無しさん@お腹いっぱい。:2006/11/29(水) 20:27:16 ID:ncW6w2aN0
>>335
それもご勘弁を
337名無しさん@お腹いっぱい。:2006/11/29(水) 21:34:33 ID:MBH183sX0
そういや去年の今ごろ 使えてマウス をなんとか使えるようにするため
AHKでボタン入替えスクリプトとか四苦八苦して作ってたな。
そして今年は ごろ寝リターンズ がどうにも気になってる自分
338名無しさん@お腹いっぱい。:2006/11/30(木) 12:45:33 ID:VTO+NL1Z0
Loop内で配列を使いたいとき、
str := data%A_Index%
このやり方はわかりました。しかし、
str%A_Index% := A_Loopfield
これは動作しません。
このように左辺の配列に、代入をしたい場合はどうすればいいんでしょう。
339名無しさん@お腹いっぱい。:2006/11/30(木) 13:11:28 ID:v8s8UHXy0
できるけど?
ただ単にA_Loopfieldに何も入ってないだけじゃない?
340名無しさん@お腹いっぱい。:2006/11/30(木) 14:21:27 ID:ei0sh85D0
適当な区切り文字を入れて
StringSplitを使うとか
341334:2006/11/30(木) 20:10:53 ID:MAy+Su1j0
こんな感じで解決しました。

LButton::
Send,{LButton Down}
KeyWait,LButton
Send,{LButton Up}
KeyWait,LButton,D T0.06
If ErrorLevel=0
msgbox,16,,買い換えて!,1
return
342名無しさん@お腹いっぱい。:2006/11/30(木) 21:51:48 ID:XsEWPVlG0
>>339-340
A_loopfieldが空でした…
お騒がせしました、できました

先日、久々にAHKのバージョンあげたら、仕様変わって動かないスクリプトが出てきて四苦八苦です
前はif (a=hoge | b=hoge)で動いていた命令も、
if (a="hoge" || b="hoge")って書かないと動かなくなってたり
343名無しさん@お腹いっぱい。:2006/12/04(月) 23:22:48 ID:rIJWi9Wh0
誰か1.0.46の新機能をまとめてくださいませんか?
expression系が結構わからなくて・・・
344名無しさん@お腹いっぱい。:2006/12/04(月) 23:30:36 ID:TLM3bDwY0
>>343
Added function SubStr(), which retrieves the specified number of characters at the specified position in a string.
Added assignment operators //=, .=, |=, &=, ^=, >>=, and <<=, which can be used anywhere in expressions. For example, Var .= "abc" appends the string "abc" to Var's current contents.
Added full support in expressions for the operators ++, --, +=, -=, *=, and /= (formerly, they could be used only as the leftmost operator on a line).
All assignment operators (especially ++ and --) behave in a C-like way when their result is used by some other operator.
Added the ternary operator (?:), which is a shorthand replacement for the if-else statement. For example, var := x>y ? 2 : 3 assigns the value 2 if x is greater than y; otherwise it assigns 3.
Added support for comma-separated expressions, which allow a single line to contain multiple assignments, function calls, and other expressions. [thanks PhiLho & Titan]
Improved variable declarations to support initialization on the same line. Note: A static variable's initialization occurs only once, before the script begins executing.
Improved line continuation to support all expression operators. For example, a line that starts with "?" or "+" is automatically merged with the line above it.
Improved performance of operators "." and ".=" to be as fast as the percent-sign method of appending a string.
Improved expressions to allow more types of consecutive unary operators such as !!Var. [thanks Laszlo]
Changed: A variable named simply "?" is no longer valid in expressions due to the new ternary operator.
345名無しさん@お腹いっぱい。:2006/12/05(火) 00:58:01 ID:aNPG1uoX0
>>344
そういうことではないと思うけどね。

公式HPに初めて行っみたけど
流行らせるページだけ見て試行錯誤してた自分にとって結構衝撃。
「Splitting a Long Line into a Series of Shorter Ones」とか始めて知ったことが多い。

英語苦手だけど気合入れて読むとしますか
346名無しさん@お腹いっぱい。:2006/12/05(火) 01:23:09 ID:AozL483B0
「Autohotkey」でブログ観察してると
ロシア語なんかも結構引っかかってくるね。
347名無しさん@お腹いっぱい。:2006/12/05(火) 15:32:22 ID:68RhdaVH0
AHKに搭載されてる正規表現で、「hoge数字」を「数字hoge」に置換しようと考えています
ですが、以下を実行してもうまくいきません

Str = hoge1234.txt
MatchPattern = hoge(\d+)
ReplacePattern = \1hoge
NewSTR := RegExReplace(Str,MatchPattern,ReplacePattern)

NewStrの結果は「\1hoge.txt」と返ってきます
(\d+)の呼び出しは「\数字」ではいけないんでしょうか
348名無しさん@お腹いっぱい。:2006/12/05(火) 16:10:22 ID:Q/urgL1f0
>>347
ちゃんと書いてあるじゃん。
検索での参照は \数字
置換での参照は $数字
だって。
349名無しさん@お腹いっぱい。:2006/12/05(火) 22:31:39 ID:x2vBJosM0
>>348
申し訳ありません、見落としてました
無事解決しました
350名無しさん@お腹いっぱい。:2006/12/06(水) 02:32:50 ID:L2SngPw70
いままでAutoHotkey104409使っててさっきAutoHotkey104600に変えたんだけど、
これってバージョンアップするのフォルダごと上書きでOKですか?

なんか上書き前にバックアップ取っとくものありますか?

どっちもzip解凍版使ってます
351名無しさん@お腹いっぱい。:2006/12/06(水) 07:39:34 ID:1j/iX3EV0
上書きでいいけど、バージョンアップで書式が変わっているとスクリプトが動かなくなるってだけ
352名無しさん@お腹いっぱい。:2006/12/06(水) 15:42:35 ID:ZeSaUZZF0
バックグラウンドのIE6のウィンドウに{HOME}キーを送るだけなのですが
IfWinExist, ahk_class IEFrame
{
ControlSend,,{HOME} (もしくは^{HOME})
Return
}
と書いて動きません。どうにかキーを送る方法はないでしょうか?
353名無しさん@お腹いっぱい。:2006/12/06(水) 18:34:44 ID:L2SngPw70
>>351
ああ、そうですか、昔のスクリプトが動かなくなる可能性があるんですね
これってAutoHotkey104409とAutoHotkey104600の2つを
C:\Program Filesに置いた場合、〜.ahkを右クリックから
”プログラムから開く”→”AutoHotKeyで開く”をやった場合どっちで開くんですか?

zip解凍版のため関連付けとか一切やってません
354名無しさん@お腹いっぱい。:2006/12/06(水) 18:48:06 ID:88+AeRBV0
選択した方に決まってるでしょ
355名無しさん@お腹いっぱい。:2006/12/06(水) 19:43:54 ID:96zpMZrJ0
>>353
ahkに関連付けされてるやつだろ
356名無しさん@お腹いっぱい。:2006/12/06(水) 19:46:30 ID:nQSShNq30
>>352
試してないけど、
ControlSend,ahk_class IEFrame,{HOME}
じゃない?
357名無しさん@お腹いっぱい。:2006/12/06(水) 20:19:28 ID:ZeSaUZZF0
>>356
レスサンクスです〜
ダメでした・・>>352のやり方でもなぜかIEだけ動かないんですよねorz
358名無しさん@お腹いっぱい。:2006/12/06(水) 23:40:14 ID:79Voy7Ax0
ControlSendは動かないもの多いよ
SendMessageとか使ったほうが良くないか
359名無しさん@お腹いっぱい。:2006/12/07(木) 02:34:46 ID:i9huZlWG0
ahk_class IEFrameってウィンドウタイトルで
コントロールに送信するんやから ちゃんとコントロール指定せなあかんとおもふ
ControlSend, Internet Explorer_Server1, {HOME}, ahk_class IEFrame
とかじゃね
360名無しさん@お腹いっぱい。:2006/12/07(木) 11:55:07 ID:ejDmkXDX0

#IfWinActiveでProcessNameごとにホットキーを割り当てるにはどうしたら良いですか?
タイトルは空欄だったり正規表現でも追えないほどの可変だったり、クラスは汎用的な名前で他のソフトとダブったりで、
ProcessNameくらいしか確実に判別する手段がないってソフトがいくつかあるので。

現在はWinGetでアクティブウィンドウのProcessNameを取得して、それで条件分岐する方法を取っていますが
#IfWinActiveに比べてコードが煩雑になる上に処理が僅かにもたつく感じがするので、出来れば使いたくないです。

というわけで既に代用法は用意されているので、#IfWinActiveでの解決方法を知ってる方が居ましたらご教示ください。
361名無しさん@お腹いっぱい。:2006/12/07(木) 12:07:34 ID:CE4c5SJ90
ID
362360:2006/12/07(木) 12:56:00 ID:15Au9fK60

>>361
自分へのレスでしょうか?

ahk_idとかahk_pidのことなら、起動毎に変化するこれらではProcessNameでの条件分岐には使えません。
スクリプトを起動した時点で既に起動しているものに対してなら、最初にそれらのハンドルやプロセスIDを取って
それを条件にすることも可能ですが、スクリプト起動後に新たに起動したものまで対応させるとなると
結局は条件分岐の条件(対象ウィンドウグループ)を別な場所で用意する代用的な方法になってしまいます。

そういった代用法ではなく、直接的にProcessNameで振り分けられる方法が欲しいのです。
IDというのがahk_idやahk_pidの事ではないとか、ahk_idやahk_pidで直接ProcessNameを条件に出来るというなら
もう少し詳しく教えてください。そうでなければ引き続き別な回答をお待ちします。
363名無しさん@お腹いっぱい。:2006/12/07(木) 13:26:13 ID:WRjQ4okQ0
「ProcessNameじゃなきゃ上手くいかないけど他に方法があるなら言ってみろ」ってか。
360がケンカ売ってるように読めるのは自分だけ?

処理がもたつくのが嫌っつってるけど、ProcessNameの取得方法に
本当にムダがないのかどうかはソース晒してみないとわからんのとちがうのか
364名無しさん@お腹いっぱい。:2006/12/07(木) 14:06:16 ID:h8BOxV7f0
(`・ω・´)ウラレタ ケンカハ オレガ カウ!! サア カカッテキナサイ!!
365名無しさん@お腹いっぱい。:2006/12/07(木) 14:42:19 ID:2eucStmv0
喧嘩の叩き売りと聞いて飛んで来ました
366360:2006/12/07(木) 15:07:29 ID:r/HMqf5u0

> 「ProcessNameじゃなきゃ上手くいかないけど他に方法があるなら言ってみろ」
確かにケンカ売ってるように読めます。363さんが書いたその口調なら。

> 処理がもたつくのが嫌っつってるけど、ProcessNameの取得方法に
> 本当にムダがないのかどうかはソース晒してみないとわからんのとちがうのか
key::
 WinGet, procname, ProcessName, A
 if (procname = "hoge.exe")
  ;処理内容
 else if (procname = "huga.exe")
  ;処理内容
 else if
  :
return

「;処理内容」の部分は
#IfWinActive, hoge
key:: ;処理内容
#IfWinActive, huga
 :
と共通。実際には{ }でブロックして複数行の処理を書いてる場合もありますけど
処理内容を全く同じにして、WinGet→ProcessName=???と#IfWinActive, ???で違いが出ます。
ほんの僅かな差ですが、キー操作というのは元々クイックなものなので、
そのわずかな差、何かに引っかかってるような操作感が気になります。

とにかくProcessNameかそれ相当のもの(汎用的に実行ファイル毎の識別が出来て、起動ごとに変化しないもの)を
#IfWinActiveに指定する方法を知っている人が居たら教えて欲しいというだけです。

>>364-365
買いたい人ばかりで売りたい人が居ないみたいです。
折角来たのだから、とりあえずお茶でも飲んでまったりしてください。 つ 旦~
367名無しさん@お腹いっぱい。:2006/12/07(木) 18:17:19 ID:H8eiWnv30
口調だけじゃなく何となく言葉にトゲがあるって意味だよ
俺はたいして気にならないけど>>363の言いたいことも分かる

スプリクト以前に起動したものになら対処できるなら
新たなプロセスが立ち上がるのをloopで常に監視すれば?
368353:2006/12/07(木) 20:40:23 ID:OKj5FZEr0
>>354-355
.ahkを右クリックから”プログラムから開く”→”AutoHotKeyで開く”をやったんだけどさ、
なぜか開かない。・゚・(ノД`)・゚・。

AutoHotKey104600フォルダの中のAutoHotkey.exeにD&Dすれば起動してくれる
これはなんででしょうか
369名無しさん@お腹いっぱい。:2006/12/07(木) 21:13:35 ID:2nZc51So0
EXEのパスが古いままなんだろ
370名無しさん@お腹いっぱい。:2006/12/07(木) 21:34:44 ID:68CgoI740
104600の方に関連付けてやれば?
371353:2006/12/07(木) 21:57:28 ID:OKj5FZEr0
>>369
いや、自分で参照からフォルダ遡って現在の.exeを選んでるけど出来ないんです

>>370
やっぱそれしかないのかなあ
て、関連付けって普通にマイコンピューター→ツール→フォルダオプション
からやるんですよね?
今まで関連付けしてなかったんですが
372名無しさん@お腹いっぱい。:2006/12/07(木) 22:11:28 ID:2nZc51So0
EXEファイルの方間違えて落としてて解凍してないとか
373名無しさん@お腹いっぱい。:2006/12/07(木) 22:19:07 ID:Yzvaqa3v0
てーか、さっきからAutoHotkeyってレベルじゃねーぞ
374名無しさん@お腹いっぱい。:2006/12/08(金) 01:47:12 ID:8ic5ctg80
だな
375名無しさん@お腹いっぱい。:2006/12/08(金) 11:42:07 ID:Cxk4qU8D0
AHKってIE・Firefoxで任意のリンクをクリックする事はできる?
座標指定じゃなくて、テキストを指定して です
376名無しさん@お腹いっぱい。:2006/12/08(金) 16:40:18 ID:0zLBfT2k0
>>375
1. OCR と連動
2. COM を使う
377名無しさん@お腹いっぱい。:2006/12/08(金) 17:48:49 ID:DTO8EYWa0
AutoHotkeyでOpenJaneのメニューを非アクティブのまま操作する方法は無いでしょうか?

Post/SendMessageやControlSendやWinMenuSelectItemでやってみたのですが、どれも駄目でした。
PostMessageやSendMessageは、窓コン等で調べてもwParamの値がわからなくて駄目でした。
ControlSendだとメニューは選択されてるっぽいのですが、それ以上は何も出来ず、
WinMenuSelectItemで指定しても駄目でした。

他のソフトを操作するのは出来てるのですが、Janeだけは失敗してしまいます。
どうかお知恵を拝借できないでしょうか?
378名無しさん@お腹いっぱい。:2006/12/08(金) 18:10:45 ID:Msdbm8sn0
最終的にしたいことは何?
379名無しさん@お腹いっぱい。:2006/12/08(金) 18:24:07 ID:DTO8EYWa0
>>378
開いているタブ全部の、印を付けているスレをすべて開きたいんです、非アクティブのままで。
380名無しさん@お腹いっぱい。:2006/12/08(金) 19:31:29 ID:K/WJZbHv0
うろ覚えですがマウ筋でwParamを取得できた気がします
値が間違ってたり、ソフトの更新のたびに調べ直さないといけない気もしますが。。

アクティブなタスクを変数に格納した後に
WinActivateかControlFocusでJaneかメニューにフォーカス当てて
sendでショートカットキーを送ったのちに変数のアプリにフォーカスを戻す

すみませんがこんなのしか思いつきません
私はViewを最大化して使ってるので
非アクティブにこだわる意義がいまいちわかりません。
どんなメリットあります?
381名無しさん@お腹いっぱい。:2006/12/08(金) 23:41:53 ID:J1qOOgde0
JaneはDelphi製だからメッセージとかは不定で指定付加なんじゃなかっけ?
382名無しさん@お腹いっぱい。:2006/12/09(土) 00:13:16 ID:2wpA17cv0
フォルダをごみ箱に入れるのって無理?
ファイルはFileRecycleでできるみたいだけど。
383名無しさん@お腹いっぱい。:2006/12/09(土) 01:38:51 ID:CCHMEXeb0
フォルダ名指定したらいいんでねーの?
384名無しさん@お腹いっぱい。:2006/12/09(土) 01:41:19 ID:Rll9ms7o0
>>380
>うろ覚えですがマウ筋でwParamを取得できた気がします
もしよろしければ取得方法をお教え願えないでしょうか?

>どんなメリットあります?
他の作業をしながら、というのが大きいです。
アクティブにしてSendを使うようにすると、
自動操作中は他の事が出来なくなってしまうので。

>>381
>JaneはDelphi製だからメッセージとかは不定で指定付加なんじゃなかっけ?
ということは無理っぽいですか?>非アクティブで操作
385名無しさん@お腹いっぱい。:2006/12/09(土) 02:02:15 ID:oHi3tY/d0
開いているタブ全部は無理だけど
今アクティブなタブなら
ウィンドウタイトルからフォルダ名を取得して
ログフォルダからIDXファイルをLOOPし「印」をつけたスレッドだったら
IDX内にあるURLとファイル名をくっつけて正しいURLを作成し
Run, ***JANE2CH.EXE -h -b {URL}
でじゃんじゃん開けば非アクティヴで開けそう
タブにあるテキストが取得できれば同様にこれを繰り返せばいいと思うけど
AUSPYでは取得できないね
386名無しさん@お腹いっぱい。:2006/12/09(土) 03:46:34 ID:haP73cro0
>>384
んー。私の勘違いかもしれないのを先にことわっておきます
マウ筋のコマンド登録で『ボタンを押す』を選んで望みの動作を実行するだけです。
厳密に言えばwParam=ボタンコードではないんでしょうけど
PostMessageに取得したボタンコード入れたら動いたので
窓コンで取得できなかった時などにマウ筋で調べるようにしてます。
もちろんこの方法で取得できない場合もありますので誤解無きよう
381さんの言うように指定不可なのかもしれませんし

タブを閉じるや更新などを上記の方法でしていた記憶があるんですが、
Janeの種類によるのかもしれませんね

まあ、これ以上はスレ違いの気がするのでこの辺で
387名無しさん@お腹いっぱい。:2006/12/09(土) 19:44:49 ID:5iIyrVCB0
ツリーのコントロールを操作するコマンドってありませんよね?
GUIコマンドで作ったツリーの操作はできるようですが。
公式にツリー対応予定とかって書いてありますか?
388名無しさん@お腹いっぱい。:2006/12/09(土) 23:35:12 ID:0RZvY/mh0
>>386 マウ筋スレでそんな裏技は是非語ってくれ。彡サッ
389名無しさん@お腹いっぱい。:2006/12/10(日) 14:54:36 ID:P/opzqko0
>>385
次の板を選択するとき以外は、非アクティブなままで、なんとか出来そうです。

>>386
ボタンがあるコマンドなら何とかなるっぽいですね。

お二方とも、御返答ありがとうございました。
390名無しさん@お腹いっぱい。:2006/12/15(金) 01:47:56 ID:BNoYe+Ql0
aキー押したら0.1秒だけaキーを押して離したって動作を
再現するにはどうすればいいんですか?
391名無しさん@お腹いっぱい。:2006/12/15(金) 08:56:52 ID:OpuW5zf70
a::
Send,{a down}
sleep 100
Send,{a up}
return
392名無しさん@お腹いっぱい。:2006/12/16(土) 01:18:43 ID:YaeauG5I0
なまずさんところのダメ文字関数、非常に重宝しているのですが
「FileMove」や「FileMoveDir」はないみたいで困っています。

何か手段はないでしょうか?
393名無しさん@お腹いっぱい。:2006/12/16(土) 12:05:27 ID:/6XmH2B60
試してないが、MBS_MultiByteToWideCharとか、
MBS_WideCharToMultiByteを使ったら、出来ないか?
394392:2006/12/16(土) 23:06:26 ID:YaeauG5I0
>>393
それを応用する力は私には残念ながら…
395名無しさん@お腹いっぱい。:2006/12/16(土) 23:32:49 ID:5TLGig7o0
安心しろ
俺なんかさっぱり分からない。
396名無しさん@お腹いっぱい。:2006/12/17(日) 14:53:15 ID:xp/PWSWa0
そもそも駄目文字のまま食わせてもfilemove自体はちゃんと動作するだろ
ディレクトリ名を分割する文字列処理だけを関数でやればいい
397名無しさん@お腹いっぱい。:2006/12/17(日) 20:33:40 ID:HHnfQVrF0
>>394
いや、応用も何も mbstring.ahk をテキストエディタ等で開いて、
2899行目辺りと2934行目辺りを見れば簡単に分かると思うよ。
>>396の言うように動作に支障がないのなら使う必要はないと思うけど。
398名無しさん@お腹いっぱい。:2006/12/17(日) 21:04:59 ID:reHVrozB0
>>397
394じゃないけど、今まで苦労していたFilemoveのダメ文字対応あっさりできました
感謝
399名無しさん@お腹いっぱい。:2006/12/18(月) 03:37:52 ID:Zguax6NF0
タスクトレイに特定ソフトが常駐していれば、終了するスクリプトがうまく動きません。
流行らせるページのリファレンスは一生懸命読んだのですが、問題解決できません。
アドバイスお願いします。

Process, Exist,Kami.exe
if ErrorLevel <> 0
Process, Close,ErrorLevel
400名無しさん@お腹いっぱい。:2006/12/18(月) 06:43:28 ID:cZDbQPl80
>>399
プロセスを殺すだけなら3行目のErrorLevelを%で囲むといいよ
ただしタスクトレイにいるソフトの場合は最初に
DetectHiddenWindows,Onを書くべきなはず
401名無しさん@お腹いっぱい。:2006/12/18(月) 06:46:18 ID:fl1vdYON0
プロセス名でやってるんなら要らないでしょ
402名無しさん@お腹いっぱい。:2006/12/18(月) 06:47:30 ID:cZDbQPl80
そうだね。自分でも今気づいた
403名無しさん@お腹いっぱい。:2006/12/18(月) 07:44:06 ID:vn8MI7Pf0
でもこれではタスクトレイのアイコンは残ってしまうね
404名無しさん@お腹いっぱい。:2006/12/18(月) 09:17:29 ID:Blue+bLZ0
>>399
PostMessageでいいんじゃね?
タスクトレイのアイコンをクリックして
終了というメニューがあるのなら、大抵の場合はそれで出来る
405名無しさん@お腹いっぱい。:2006/12/18(月) 14:45:33 ID:n3Jqnm9r0
昨日最新版落としたと思ったらまたアップデートorz
406名無しさん@お腹いっぱい。:2006/12/19(火) 03:29:16 ID:FBMxiv/h0
>>400
ありがとう。できた。
下のようなスクリプトなのだが、一番上のコメントアウトしている te.exe
を終了しようとするとエクスプローラーが落ちる。

「コンピューターを保護するため……終了します」
こんなメッセージが出る。
te.exe というのはtasktreyexpand という指定したタスクトレイアイコンを非表示にするソフト。
これを ahk で終了させられないでしょうか。


;Process, Exist,te.exe
;if %ErrorLevel% <> 0
;Process, Close,%ErrorLevel%

Process, Exist,Station.exe
if %ErrorLevel% <> 0
Process, Close,%ErrorLevel%

Process, Exist,Kami.exe
if %ErrorLevel% <> 0
Process, Close,%ErrorLevel%

Process, Exist,CLCL.exe
if %ErrorLevel% <> 0
Process, Close,%ErrorLevel%

Process, Exist,CLaunch.exe
if %ErrorLevel% <> 0
Process, Close,%ErrorLevel%

407名無しさん@お腹いっぱい。:2006/12/19(火) 05:01:43 ID:JhN0wf+P0
>>406

DetectHiddenWindows,On
IfWinExist,TrayExpand
{
WinClose,TrayExpand
exit
}

こういう書き方でいけない理由は?(これを使う場合te.exeの
オプションで終了時の確認メッセージを出さないようにしておく)

普通にソフトを終了したいだけならProcess,Closeを使わない方が
いいんじゃないかな

あと
> プロセスを殺すだけなら「3行目の」ErrorLevelを
と言われているのにも注意すべきと思った
408名無しさん@お腹いっぱい。:2006/12/19(火) 06:44:06 ID:FBMxiv/h0
>>407
ありがとうございます。
おかげさまで理想的なスクリプトに仕上がりました。

タスクトレイの見えないウィンドウを操作する方法に気づきませんでした。
見えてないのにウィンドウだなんて気づけません。
AU3 Spyをつかって調べればよかったんですね……

DetectHiddenWindows,On
IfWinExist,KAMI_STATION
{
WinClose,KAMI_STATION
}

DetectHiddenWindows,On
IfWinExist,TrayExpand
{
WinClose,TrayExpand
exit
}

上記のように消すのと、Process, Close で消す違いは何でしょうか?
Process, Closeで消すとデータが破損するなど何か良くないことが起こるのでしょうか?
409名無しさん@お腹いっぱい。:2006/12/19(火) 07:44:14 ID:Ld1Si4ln0
そのくらいは思い至りませんか?
410名無しさん@お腹いっぱい。:2006/12/19(火) 18:14:11 ID:4u38DT3U0
付属のIntelliSenseが上手く動きません。

I_Editorとahk_dirを変更したんですが、他にも何か必要でしょうか?
411名無しさん@お腹いっぱい。:2006/12/19(火) 19:15:57 ID:oQtt45mL0
WindowsXP
412名無しさん@お腹いっぱい。:2006/12/20(水) 06:43:45 ID:opwGxVal0
>>408

>上記のように消すのと、Process, Close で消す違いは何でしょうか?

WinCloseは文字通りウィンドウを閉じている。×ボタンを
クリックして閉じているのと同じ。
Process,Closeはウィンドウを閉じるのではなく
実行中のプログラムを強制的に殺している。
タスクマネージャから「プロセスの終了」を選んでいるのと同じ。
普通にソフトを閉じたいだけならできる限り前者を使うでしょ、普通
413名無しさん@お腹いっぱい。:2006/12/20(水) 17:36:11 ID:SrY1EQeZ0
Shiftキーを押している間だけ、マウスの移動速度が下げられるようには出来ないでしょうか?
414名無しさん@お腹いっぱい。:2006/12/20(水) 17:42:51 ID:zTvWobWy0
レジの書き換えで出来るかも出来ないかも
HKEY_CURRENT_USER\Control Panel\Mouse
415名無しさん@お腹いっぱい。:2006/12/20(水) 17:44:20 ID:gd63rySr0
Live鯖落ちてね?
416名無しさん@お腹いっぱい。:2006/12/20(水) 17:44:57 ID:SrY1EQeZ0
超高速レスサンクス!
試してみます!!!1111
417413:2006/12/20(水) 18:47:15 ID:SrY1EQeZ0
>>414
残念ながらレジストリで設定するやり方が解りませんでした・・・。

DOSのフリーソフトと組み合わせ実現出来ました。
ttp://pcgenki.com/soft2/MouSpd.htm

Loop
{
Sleep, 50
GetKeyState, state, Shift, P
if state = D
{
Run C:\MouSpd\MouSpd.exe 5
Loop
{
Sleep, 50
GetKeyState, state, Shift, P
if state = U
{
Run C:\MouSpd\MouSpd.exe 10
break
}
}
}
}
return


常にShiftを監視するループが回り放しになっちゃうのが気持ち悪いです。
もっと上手に作る方法はありませんでしょうか?
418390:2006/12/20(水) 18:57:19 ID:2yhhqIV00
>>391
すごく遅くなって申し訳ない
ありがとうございました
419名無しさん@お腹いっぱい。:2006/12/20(水) 19:58:53 ID:7cKVYK/C0
タスクトレイに表示されるアイコンの一時停止中のアイコンと右クリックで出てくるメニューを変えるにはどうすればいいですか?
420名無しさん@お腹いっぱい。:2006/12/20(水) 20:15:34 ID:SLryGGaR0
>>417
レジストリいじってみたけど、即時反映されないな
AHKでかくとこんな感じか

~LShift::
RegWrite,REG_SZ,HKEY_CURRENT_USER,Control Panel\Mouse,MouseSpeed, 2
return

~LShift up::
RegWrite,REG_SZ,HKEY_CURRENT_USER,Control Panel\Mouse,MouseSpeed, 0
return
421名無しさん@お腹いっぱい。:2006/12/20(水) 20:22:08 ID:/xu+o5dg0
>>417
ループをなくすとこんなかんじかね。
書いてて気がついたんだけど、Shiftで指定すると押し上げでイベント発生、LShiftだと押し下げでイベントが始まる。
~LShift::
Run C:\MouSpd\MouSpd.exe 5
Keywait,LShift,U
Run C:\MouSpd\MouSpd.exe 10
Return
422名無しさん@お腹いっぱい。:2006/12/20(水) 20:36:00 ID:FkIIP34I0
>>419
両方とも流行らせるページに書いてある。
自分で調べる気がない奴はこういうツール使わない方が良い。
423名無しさん@お腹いっぱい。:2006/12/20(水) 20:38:00 ID:2yhhqIV00
>>422
だよねw
424名無しさん@お腹いっぱい。:2006/12/20(水) 20:45:34 ID:rwj2Y2r10
DOSソフト走らせるなら
Run, C:\MouSpd\MouSpd.exe 10, , Hide
ってやるとプロンプト出さずに済むよ
425413:2006/12/20(水) 21:01:05 ID:SrY1EQeZ0
>>420
>>421
レス有り難う御座います。

自分でも最初ループじゃなくて keywait を使って試したんですが、

 「LShiftだと押し下げでイベントが始まる。 」

これが上手く動かなくて、望むような動きが出来ませんでした。


どう設定しても

 「Shiftで指定すると押し上げでイベント発生」

この動きになってなってしまいます。

AutoHotKeyのバージョンが違うのでしょうか・・・
うちは1.0.46.00を利用しています。
426413:2006/12/20(水) 21:03:39 ID:SrY1EQeZ0
>>424

DOSソフトって書いてしまったんですが、画面を表示しないWinのソフトでした。
情報有り難う御座います。
427413:2006/12/20(水) 21:09:02 ID:SrY1EQeZ0
>>425
自己レスです。

「LShiftだと押し下げでイベントが始まる。 」

すみませんちゃんど動作しました。
他のショートカットとの組み合わせが悪さをしていたようです。
ご迷惑おかけしました。 m(__)m

貴重な情報有り難う御座います!
428名無しさん@お腹いっぱい。:2006/12/20(水) 21:28:43 ID:7cKVYK/C0
>>422
スイマセンありました。

もう一つ質問なんですがEnvGetを使って環境変数から現在時刻を取得したいんですが
EnvGet,clock,time
EnvGet,clock,%time%
どちらもclockが空で帰ってきます。
429名無しさん@お腹いっぱい。:2006/12/21(木) 02:51:23 ID:f+1LMSm40
>>428

A_Nowじゃだめなの?
430名無しさん@お腹いっぱい。:2006/12/22(金) 18:42:52 ID:oGWiZ97v0
URLDownloadToFileでUAを指定する方法はありますか?
431名無しさん@お腹いっぱい。:2006/12/22(金) 19:30:58 ID:mpS9XIxd0
IEのプロクシ設定を使うみたいだから
オミトロンでどうにかできそう
432名無しさん@お腹いっぱい。:2006/12/22(金) 19:41:46 ID:oGWiZ97v0
>>431
AHK側ではできないっぽいですね。ありがとうございました。
433名無しさん@お腹いっぱい。:2006/12/23(土) 04:42:11 ID:8b74JDCD0
Win+U にキー割り当てできないのかな。
AutoHotkeyを流行らせるページ見た限りだと Win+L と Win+Uは出来ないと書いてあるけど
Win+L には割り当てできた。Win+U に BackSpaceを割り当てたい・・・
434名無しさん@お腹いっぱい。:2006/12/24(日) 10:30:40 ID:ZC/WqHSG0
自分は情報囲い込みで人からは情報を得たいですか
効率いい作戦ですね
435名無しさん@お腹いっぱい。:2006/12/26(火) 14:46:25 ID:YbCYSGl10
↓の様な感じで"menu"を使ってポップアップメニューを表示させてるのですが、
メニュー内の項目を10回クリックすると何故かメニューが出なくなってしまいます。
これを回避する方法はないのでしょうか?

MouseGetPos, Mouse_X , Mouse_Y,
Menu, hoge, Add , item1
Menu, hoge, Show
return

item1:
Menu, hoge, Show ,%Mouse_X% ,%Mouse_Y%
return
436名無しさん@お腹いっぱい。:2006/12/26(火) 14:59:46 ID:9VipnNOF0
Menu, Delete
を入れてみるとか
437名無しさん@お腹いっぱい。:2006/12/26(火) 15:18:14 ID:YbCYSGl10
>>436
すみません、どこに入れればいいのでしょうか?
3行目のMenu, hoge, Showの後に入れたのですが効果はありませんでした。
DeleteAllでも変わらずです。
7行目のMenu, hoge, Show ,%Mouse_X% ,%Mouse_Y%の後だと10回繰り返した後に、
Menu does not exist.とエラーが出ました。
438名無しさん@お腹いっぱい。:2006/12/26(火) 15:40:29 ID:9VipnNOF0
HogeがShowされてるところにさらにShowを重ねてるのがダメなのかな

MouseGetPos, Mouse_X , Mouse_Y,
Menu, hoge, Add , item1
Menu, hoge, Show
MsgBox, B
return

item1:
{
Menu, hoge, Show ,%Mouse_X% ,%Mouse_Y%
MsgBox, A
return
}

こんな風にして挙動をみてみたけど
これだとItem1が入れ子になっちゃって畳み掛けるように実行されてる
ロジックを見直した方がいいんじゃないかな
439名無しさん@お腹いっぱい。:2006/12/26(火) 20:54:02 ID:YbCYSGl10
いろいろ試行錯誤して↓みたいな感じで回数制限?を回避することが出来ました。
お手数おかけしました。

MouseGetPos, Mouse_X , Mouse_Y,
Menu, hoge, Add , item1
GoSub, Show
return

item1:
Menu, %A_ThisMenu%, ToggleCheck, %A_ThisMenuItem%
aaa= 1
return

Show:
Menu, hoge, Show ,%Mouse_X% ,%Mouse_Y%
if aaa = 1
{
aaa= 0
GoSub, Show
}
return
440名無しさん@お腹いっぱい。:2006/12/28(木) 20:07:58 ID:d2xlqYoA0
最小化された Jane をウィンドウアクティブにするにはどうしたらいい?

#c::
ahk_class = TMainWnd
WinActivate, ahk_class %ahk_class%
return

これだと「最小化されてない時」はウィンドウアクティブになるけど・・・
441名無しさん@お腹いっぱい。:2006/12/28(木) 20:31:49 ID:mgnuq6AZ0
普通に実行してアクティブにするんじゃダメなん?
442名無しさん@お腹いっぱい。:2006/12/28(木) 21:34:03 ID:d2xlqYoA0
ダメでした・・・
443名無しさん@お腹いっぱい。:2006/12/28(木) 22:13:26 ID:CGU2l9eq0
cuteExec
ttp://hp.vector.co.jp/authors/VA026310/soft2.htm
をはさんだら?
444名無しさん@お腹いっぱい。:2006/12/28(木) 22:26:09 ID:xiLyea+/0
>>440
PostMessage, 0x112, 0xF120,,, A
Aの部分はウィンドウタイトル
これじゃ駄目?
445名無しさん@お腹いっぱい。:2006/12/28(木) 22:35:18 ID:Mh2a1cU40
Janeをはじめ、最小化・最大化がうまくいかないソフトいくつかあるんだよな
おれも解決策知りたい
446名無しさん@お腹いっぱい。:2006/12/28(木) 22:50:29 ID:fHLEMlCL0
Delphi製のアプリは隠れメインウインドウがあるから
ahk_class TApplication に操作かけないとうまくいかなかったりする
Janeはしらない
447名無しさん@お腹いっぱい。:2006/12/28(木) 23:01:37 ID:d2xlqYoA0
#q::
WinGetClass, ahk_class, A
; あふとJane以外
if (ahk_class = "TAfxForm")
{
}
else if (ahk_class = "TMainWnd")
{
PostMessage, 0x112, 0xF020,,,Jane
}
else
{
WinMinimize, ahk_class %ahk_class%
}
return

; Jane
#c::
ahk_class = TMainWnd
WinActivate, ahk_class %ahk_class%
PostMessage, 0x112, 0xF120,,,Jane
return
448名無しさん@お腹いっぱい。:2006/12/28(木) 23:03:21 ID:d2xlqYoA0
うう。興奮して間違えてかきこんじゃった

; Jane最小化
#q::
PostMessage, 0x112, 0xF020,,,Jane
return

; Janeアクティブ
#c::
ahk_class = TMainWnd
WinActivate, ahk_class %ahk_class%
PostMessage, 0x112, 0xF120,,,Jane
return

これでうまくいきました。ありがとうございました。
449名無しさん@お腹いっぱい。:2006/12/30(土) 05:15:55 ID:1vUbzQkz0
#Persistent
CoordMode, Mouse, Screen
SetTimer, mouse_ititori, 1000,

Gui, 1:Add, text, , (´・ω・`)
Gui, 1:Show, , サブ表示欄

Gui, 2:Add, Edit, W500 R30,
Gui, 2:Show, x0 y50, サブ表示欄

Return

mouse_ititori:
MouseGetPos, mouse_yoko, mouse_tate, ,
if mouse_yoko < 5
GUI, 2:Show, ,
if mouse_yoko > 520
GUI, 2:Hide
Return

GuiClose:
ExitApp

マウスカーソルを右へ動かしてエデット欄を消してからカーソルを左端へもっていくと、
消したエデット欄が再び現れるという感じのスプリクトを書いてみたけど、エデット欄が現れるたびに
少しづつ短くなってしまうんじゃがどうしたもんかのう
450名無しさん@お腹いっぱい。:2006/12/30(土) 07:05:24 ID:JrhvnRuG0
短くならないけどなぁ
451名無しさん@お腹いっぱい。:2006/12/30(土) 09:03:06 ID:LoNsCwUO0
ウィンドウの下端が、ウィンドウを閉じて開くごとに上がる…と言い直そう
452名無しさん@お腹いっぱい。:2006/12/30(土) 09:39:42 ID:JrhvnRuG0
うちだとサイズも位置も変わらんなぁ
453名無しさん@お腹いっぱい。:2006/12/30(土) 11:45:30 ID:nVT/y7aI0
自分も変化なし
454名無しさん@お腹いっぱい。:2006/12/30(土) 16:59:48 ID:uwn95YVr0
#IfWinActive ;条件無し
~WheelDown::
処理1

#IfWinActive ahk_class IEFrame ;IE
~WheelDown::
処理2

とした場合、IEがアクティブなら条件無し(処理1)の方は実行されませんが
これを両方とも実行するようにできないでしょうか?
455名無しさん@お腹いっぱい。:2006/12/30(土) 17:09:49 ID:uwn95YVr0
スミマセン書き忘れました
~WheelDown::
{
処理1
}
IfWinActive ahk_class IEFrame ;IE
{
処理2
}
とするしかないんでしょうか
456名無しさん@お腹いっぱい。:2006/12/30(土) 17:22:40 ID:5p5k3UF30
~WheelDown::
IfWinactive ahk_class IEFrame
処理2
処理1
return

ではダメかい?
457名無しさん@お腹いっぱい。:2006/12/30(土) 19:52:51 ID:B4rfJMaP0
普通に #IfWinActive ahk_class IEFrame ;IE の方にも
処理2の前に処理1を入れてやれば良いだけじゃん。
処理1ってののコード量が多いならサブルーチン化してやりゃいいし。
それに>>455でも別に問題ないでしょ。
いったいなんでこんな質問してるのか不思議だ。
458名無しさん@お腹いっぱい。:2006/12/30(土) 20:43:06 ID:uwn95YVr0
>>456-457
すみません
#IfWinActive+ホットキーの方がスクリプトすっきりするんですが
ホットキーがダブると面倒なので
ホットキー::ごとにまとめた方が管理しやすいそうですね

スレ汚し失礼しましたです
459名無しさん@お腹いっぱい。:2006/12/31(日) 00:45:26 ID:vxzmzJl+0
自分の普段の常駐スクリプトでは何十も #IfWinActive 使ってるから
自分ならそういう場合サブルーチンとか関数つくるよ。
460名無しさん@お腹いっぱい。:2007/01/06(土) 03:38:19 ID:1hJBYXtG0
If コマンドと if ()での式の比較って似てるようで違うんですね。

TEST=x
if TEST="x"
msgbox,a
if (TEST="x")
msgbox,b
if TEST=x
msgbox,c
if (TEST=x)
msgbox,d
if TEST=%TEST%
msgbox,e
if (TEST=%TEST%)
msgbox,f

こういうようにカッコや""でくくるとまったく反応がばらばらになるのに気付かず、
数時間はまりました。(この場合 b,c,e しか反応しない)
さらに TEST="x" とか TEST=1, TEST=0 でも結果が異なるので
かなり混乱しました。
461名無しさん@お腹いっぱい。:2007/01/06(土) 09:35:47 ID:onmqQvml0
>>460
ifに限らず、( ) の中は% %でくくる必要なし。
逆に変数ではなく文字列そのまま渡したい場合は" "でくくらないとダメ。

関数のときも( )の扱いは同様なので注意されたし。
462名無しさん@お腹いっぱい。:2007/01/07(日) 19:28:09 ID:CDZP2VOO0
AHKを使って2chに書き込みってできますかね?
463名無しさん@お腹いっぱい。:2007/01/07(日) 19:54:29 ID:788IXfx40
>>462
たぶん出来る。

ただ、こういうのは荒らしや厨の手に渡ると大変なんで
自分で調べて自分で作ってこっそり使ってくれ。
質問したり、作ったものをうpしたりは無しの方向で。

因みにjsやvbsの方が楽だと思うよ。
少なくともjsやvbsなら確実に書き込み出来るから。
464名無しさん@お腹いっぱい。:2007/01/07(日) 20:22:25 ID:b4W2w+FB0
POSTメソッドとかあったっけ?
多分荒し対策の画面挟んで
バリュー取得しつつ二回POSTしないといけないから無理でしょ
465名無しさん@お腹いっぱい。:2007/01/07(日) 22:55:45 ID:XAJWiCyw0
適当なソフトを自動化させたりDLLcallでなんとかなりそうだな。
でも、そんなめんどい事をするくらいなら、素直に他のを使ったほうがいいよな。
466名無しさん@お腹いっぱい。:2007/01/08(月) 00:21:54 ID:RhD5Y+UyO
Gui,Add,Editで作ったエディットボックスに日本語を入力しても
1文字目以外はEnterで確定しないかぎり画面に表示されません。

過去ログでも話題になっていましたが、結局何が原因か結論は出ていませんでした。

Gui,Add,Edit
Gui,Show

という一番シンプルな形にしてもなってしまうので
スクリプトの書き方ではないと思います。

ahk:1.0.46.05
OS:XP SP2
IME:MS Natural Input 2003
467名無しさん@お腹いっぱい。:2007/01/08(月) 00:26:04 ID:z+sRub5n0
今更ながらこのソフト便利だな
FPSやりながら、気分で音楽変えたりするのに使ってる
468463:2007/01/08(月) 00:30:00 ID:Tkm1KIGV0
>>464
残念、ハズレ。
スレ違いなので、具体的なやり方とかはここで聞かないでね。
さようなら。
469名無しさん@お腹いっぱい。:2007/01/08(月) 01:26:00 ID:mITZCNND0
言ってることは間違ってないが
なんで煽り口調でスレ荒らそうとしてんだこのバカは
ちょっと切のいい時間に書き込めたからって調子のんなよ
470名無しさん@お腹いっぱい。:2007/01/08(月) 01:28:26 ID:yBebi2ry0
おまえもなー
471名無しさん@お腹いっぱい。:2007/01/08(月) 01:31:09 ID:mITZCNND0
>>466
単純にIMEとか2バイト文字を入力する国を考慮してないからだと思う
非対応というかなんというか

>>470
俺は別に荒れようが荒らしツールが作られようが気にしねーもん
472466:2007/01/08(月) 01:52:26 ID:RhD5Y+UyO
いえ、過去ログではそうならない人となる人とで分かれていましたので・・・
何か原因があると思います。
473名無しさん@お腹いっぱい。:2007/01/08(月) 08:16:20 ID:cRgRm9960
>>472
>そうならない人となる人
IMEかOSの差じゃないのか?

過去ログを適当に検索した限りでは、
どうもXPとIME 2002だと不具合が発生するみたいだし。

InputBoxを使うか作者にメールでもするしかないような気がする。
474466:2007/01/08(月) 12:01:30 ID:RhD5Y+UyO
>InputBoxを使うか作者にメールでもするしかないような気がする。

つまりですね、私がしたいことは

1.多くの人に動作環境を書いていただく
2.原因が判明する
3.OSやIMEのせいなら買い換える

ということです。
475名無しさん@お腹いっぱい。:2007/01/08(月) 18:52:18 ID:cRgRm9960
2k SP4 IME 2000で異常は無し
476名無しさん@お腹いっぱい。:2007/01/08(月) 19:12:11 ID:kLs/i+jp0
>>474
集計してやる気を見せるとかしたら、乗ってくる人も多いだろうけど、ね。
477名無しさん@お腹いっぱい。:2007/01/08(月) 22:21:37 ID:jfLlfJwx0
XP skk で問題なし。natural input が問題じゃないの。
478名無しさん@お腹いっぱい。:2007/01/09(火) 17:09:49 ID:mzy94VEn0
古いアプリケーションでホイール回転を使えるようにする「どこでもホイール」
みたいな動作をAHKで再現する事はできますか?
479名無しさん@お腹いっぱい。:2007/01/09(火) 17:23:26 ID:WeeN76zx0
出来るし>>2の一番上のリンク先にもあるけど
この機能は結局既存のアプリ使ったほうが便利だと思う
480名無しさん@お腹いっぱい。:2007/01/09(火) 17:35:17 ID:26+gg7G20
AHKからactiveXを呼び出す方法ってない?
481名無しさん@お腹いっぱい。:2007/01/09(火) 17:51:27 ID:8V66ExuB0
482名無しさん@お腹いっぱい。:2007/01/09(火) 17:53:35 ID:MSt/jCdC0
内線236番
483名無しさん@お腹いっぱい。:2007/01/09(火) 17:57:14 ID:26+gg7G20
>>481-482
無いのか。きっぱり諦めるわ、ありがとう。
484名無しさん@お腹いっぱい。:2007/01/09(火) 21:04:58 ID:mzy94VEn0
>>479
有難うございます!流行らせるページのホイールリダイレクトですね。
試した所、確かに非アクティブのコントロールにホイール回転を送る事はできましたが
古いアプリケーションでホイール回転を有効にする事はできませんでした
どこでもホイールは相性が悪いソフトもあるので、AHKで試してみたいんです。
互換モード?のホイール回転を送るにはどうしたらいいんでしょうか?
485名無しさん@お腹いっぱい。:2007/01/09(火) 22:45:12 ID:gn4AtHYM0
アクティブにしてもホイールが効かないくらい古いソフトってことなら
そのアプリではホイール回転でカーソルキー送るようにすればいいんじゃないの。
486名無しさん@お腹いっぱい。:2007/01/11(木) 00:20:05 ID:nb9IO6Kj0
>>484
WM_MOUSEWHELLの代わりに WM_VSCROLL or WM_HSCROLLを使えばおk
487名無しさん@お腹いっぱい。:2007/01/11(木) 15:55:02 ID:bLvgPzf30
IE起動して、リターンキーやF5おしつづけてろバカ>>468
488466:2007/01/11(木) 18:53:27 ID:eOiHwaaS0
XP
 × MS-IME 2003
 × MS-IME 2002
 ○ skkime

2k
 ○MS-IME 2000
 ○Atok16

(SPによる違いは今のことろないので省略)

こんな感じですか。
私の環境ではskkにすればOKだったんですが、これになれると他のPCが怖いんですよね。
MS-IME 2007が気になるところ。
489名無しさん@お腹いっぱい。:2007/01/12(金) 01:16:30 ID:pE5S6x6L0
natural input じゃなくて standard にするとどうなの?
490466:2007/01/12(金) 01:43:44 ID:2cSr8w9s0
>>489
私の環境ではどちらも同じく動いてくれませんでした。
491名無しさん@お腹いっぱい。:2007/01/12(金) 02:27:58 ID:h6FE7Jq+0
IMEがONになっている時に
Enterが押されたのが文字変換中なのかそうでないか見分けることってできませんか?

1行EditボックスでEnterをホットキーに割り当てたいです。
文字変換中は文字確定、そうでないときには任意の動作。
つまり「Enter(文字確定)」→「Enter(任意の動作)」。

IMEのON/OFFは過去ログでわかりましたが、
それだけでやろうとすると「Enter(文字確定)」→「IME OFF」→「Enter(任意の動作)」
という風に一手間かかってしまいます。

無理ならばEnter以外に割り当てます。
どなたかお知恵をお貸しください。
492名無しさん@お腹いっぱい。:2007/01/12(金) 02:39:04 ID:pE5S6x6L0
AHKではどうか知らないがmayuではできる。
493名無しさん@お腹いっぱい。:2007/01/12(金) 05:04:00 ID:gCZTBvjz0
GUIのオプションのgではだめなん?
494名無しさん@お腹いっぱい。:2007/01/12(金) 12:54:32 ID:3I4mbv7u0
>>466
XP SP2のATOK16で正常に動作するみたい

>>493
editのgは「入力内容が変更されるごとにサブルーチンが実行」
495名無しさん@お腹いっぱい。:2007/01/12(金) 13:13:59 ID:TL/sa8h90
じゃあ、GUI のSubmitかな
というか、えんてrを押した時の動作は
Editの中身を打ち込んでそれを元に変化する動作ってことでいいんだよね?
496名無しさん@お腹いっぱい。:2007/01/12(金) 14:07:35 ID:m+Be5Fqp0
>>495
なにか勘違いしてるな。

AHKのGUIのことなら
Gui,Add,Button,Default,LabelName
を追加してLabelName:に任意の動作を書けばいい。
ボタンコントロールが邪魔なら「w0 h0」とか「Hidden」とかで隠せばいいだけ。

そうでなくて、>>491が言っているのは既存の1行エディットボックスのことだろう。
497名無しさん@お腹いっぱい。:2007/01/12(金) 14:29:14 ID:TL/sa8h90
ああ、そうか、すまん
498名無しさん@お腹いっぱい。:2007/01/15(月) 01:22:07 ID:x/N0Gn790
スクリューパイルドライバーのスクリプト教えてください
499名無しさん@お腹いっぱい。:2007/01/15(月) 04:57:54 ID:U9ivmBqS0
#Hotstring EndChars 79-()[]{}':;"/\,.?!`n `t
Clipboard=フンッ!!
::63214::
Send,^v
Return
::41236::
Send,^v
Return
500名無しさん@お腹いっぱい。:2007/01/15(月) 11:44:19 ID:+50So+Ue0
スクリューって一回転じゃなかったっけ?
501名無しさん@お腹いっぱい。:2007/01/15(月) 14:27:03 ID:AVTbF5ks0
3/4回転でおk
502名無しさん@お腹いっぱい。:2007/01/15(月) 17:35:16 ID:rgIt3lzG0
7/8だぞ
503名無しさん@お腹いっぱい。:2007/01/15(月) 17:54:56 ID:57jdPE2m0
>>501が正解のようだね

> スクリューパイルドライバー
>  コマンドは「レバー1回転 + パンチボタン」とされているが、
>  実際には上下左右の各方向に1回以上入力することが
>  条件となっているため270度の回転で出すことができる。
504名無しさん@お腹いっぱい。:2007/01/15(月) 18:15:49 ID:NpoOOsxV0
何の話だよw
505名無しさん@お腹いっぱい。:2007/01/16(火) 05:11:13 ID:IU9b6SXT0
AutoHotkeySC.binのソースコードは公開されてないのでしょうか?

また、上記について調べて見つけたのですが、AutoItとAutoHotkeyの関係って何ですか?
506名無しさん@お腹いっぱい。:2007/01/16(火) 22:43:06 ID:i7UjYN0q0
ここにちょっと書いてあるっぽい。
ぜひ読んで説明してくれ。
http://www.autohotkey.com/forum/topic4363.html
AHKの作者がautoitにhotkey機能を入れようとしたんだけど
無視されたのでAHKができたみたいなことが書いてあるけど。

autoitはいわゆるフリーソフトだけどGPLじゃないんだね。
AHKはautoit2互換らしいけど、ソースは書き直したのかもしれない。
507名無しさん@お腹いっぱい。:2007/01/17(水) 13:14:47 ID:PyMlUonK0
Ctrl+Ctrl(二度押し)
をホットキーにしていすることはできませんか?
508名無しさん@お腹いっぱい。:2007/01/17(水) 16:37:17 ID:dLuZw3ei0
流行らせるページにサンプルあるでしょ
509名無しさん@お腹いっぱい。:2007/01/18(木) 01:13:55 ID:CWbVkqb10
>>508
やってみましたがよくわからんのです。

^::
Input,InputChar,C I L1 T1,{Esc},{Ctrl}
if ErrorLevel=Match
{
if InputChar={Ctrl}
Run,C:\bin\shorter\shorter.exe
}
return
510名無しさん@お腹いっぱい。:2007/01/18(木) 03:20:53 ID:CFg2BKY70
情報を小出しにして質問する子には教えてあげません!
流行嫁
511名無しさん@お腹いっぱい。:2007/01/18(木) 22:30:58 ID:LLt1NTUY0
簡単なパスワードマネージャを作ろうと思ってます
イメージとしてはブラウザの検索バーみたいにテキスト入力とドロップダウンが
一緒になってるのがいいんですが、どうも無理みたいなので横に並べて下のようにしてます
Gui, Show, x%xpos% y%ypos% h34 w338, Password
Gui, Add, Edit, vKeyword1 x16 y4 w150 h21
Gui, Add, DropDownList, vKeyword2 x166 y4 w120 h400 gDropDown, %psw%
Gui, Add, Button, x288 y4 w40 h21 Default, Enter
GuiControl, Focus, Keyword1
Return

それで、このドロップダウンで選択した文字列はすぐに
横のテキスト入力覧に反映させたいのですが、これってどうやればできますでしょうか?
gでサブルーチンに飛ばしいろいろやってみたのですが、なかなかうまくいきませんでしたorz
512名無しさん@お腹いっぱい。:2007/01/19(金) 13:54:11 ID:DTjUrlnG0
DropDown:
GuiControlGet, Keyword2
GuiControl, Text, Keyword1, %Keyword2%
return
513名無しさん@お腹いっぱい。:2007/01/19(金) 17:31:46 ID:NQJJiHrO0
あるウィンドウが操作可能かどうかの
ステータスを取得することはできないでしょうか?

ブラウザなどのウィンドウが操作可能になったことを確認してから、
キーを送りたいのです。
514名無しさん@お腹いっぱい。:2007/01/19(金) 17:58:33 ID:ipl+y1Hp0
操作可能って何だ?
ウィンドウがアクティブまたは存在(起動)しているということか?

WinActiveでおk?
別にアクティブウィンドウ以外にもキーは送れるけどね
515名無しさん@お腹いっぱい。:2007/01/19(金) 18:16:44 ID:NQJJiHrO0
ウェブページが完全に表示されて、
キー操作を送りたいのです。

webページ表示 → パスワード入力

サーバのコミ具合によって、ページが読み込まれ操作可能になるまでの
時間にかなりばらつきがあるので。
516名無しさん@お腹いっぱい。:2007/01/19(金) 18:24:09 ID:ui9fI6Em0
>>515
ステータスバーの文字列を監視して、「ページが表示されました」になったら送るとか。
517名無しさん@お腹いっぱい。:2007/01/19(金) 21:04:29 ID:K0F7dDJM0
>>512
ありがとうございます
バッチリですた
518名無しさん@お腹いっぱい。:2007/01/19(金) 23:27:27 ID:kA7f7NvD0
>>515
流行らせるページのシステムモニタ用関数群のネットワークモニターを使ってみては?
ただ動くかどうかはわからないけど(CPU使用率とパフォーマンスカウンターはまったく動かなかった)
519名無しさん@お腹いっぱい。:2007/01/19(金) 23:37:31 ID:ipl+y1Hp0
>>515
ControlGetじゃダメなの?
520名無しさん@お腹いっぱい。:2007/01/20(土) 01:39:46 ID:ydk2PSAC0
521名無しさん@お腹いっぱい。:2007/01/20(土) 01:57:38 ID:ydk2PSAC0
>>519>>516
ありがとうございます。うまくいきました。
もはや2chはビルゲイツを超えた天才プログラマーの集団であると確信しました。

ブラウザで表示マチのときは、教えてもらった方法が有効でした。
では、起動が重いソフトの立ち上がりを待ってから、操作するにはどうするのが
AHKの定石なのでしょうか。

例えば、画像処理ソフトを起動し、自動でクリップボードの画像を読み込むときとか。

WinGetActiveTitle winwait や wingettitle その他いろいろ、
待つのにつかえそうな関数があるのですが……
522名無しさん@お腹いっぱい。:2007/01/20(土) 05:59:24 ID:gjisIkJ10
Sleep, 10000
523名無しさん@お腹いっぱい。:2007/01/20(土) 08:42:50 ID:L64sKzn30
MouseGetPos, MouseX, MouseY
PixelGetColor, color, %MouseX%, %MouseY%, RGB
StringReplace, color, color, 0x, #
clipboard = %color%

#RRGGBB (16進)で画面上の色を取得できるけど、これを
RR-GG-BB (10進)に変換するにはどうしたらいいのかな。
524名無しさん@お腹いっぱい。:2007/01/20(土) 11:28:37 ID:V+MWGqSL0
>>523
SetFormat
525名無しさん@お腹いっぱい。:2007/01/20(土) 13:21:56 ID:L64sKzn30
できたよー!!!ありがとう
何かしら演算しないとダメだったのね。0を足して変換できた。
526名無しさん@お腹いっぱい。:2007/01/21(日) 00:00:28 ID:8ftRw9lV0
soundplay でファイルをひらくときって、どのタイプのファイルならすぐ音がなってリソースもくわない、とかのちがいってあるんですか?
速く音がなってリソース食わないのってなにですか?
できれば順番に並べてもらえるとありがたいです。
527名無しさん@お腹いっぱい。:2007/01/21(日) 00:57:34 ID:Bd0QH8Yz0
最後の一言が余計という見本だな。
528名無しさん@お腹いっぱい。:2007/01/21(日) 01:54:36 ID:FhlZBMpI0
>>526
>すぐ音がなってリソースもくわない
ファイルのサイズが小さい方が早意志リソースも食わないと思われる。
しかし、無圧縮音楽は圧縮音楽より早いしリソースも食わないかと思われる
あとは自分で調べろ
529名無しさん@お腹いっぱい。:2007/01/21(日) 09:31:02 ID:Gt6BX/680
流行らせるBBS、管理人の雑記スレで質問してるヤツがいるな。
あそこ、ちゃんと質問スレあるのに。
530名無しさん@お腹いっぱい。:2007/01/21(日) 10:40:45 ID:TZY+g5fd0
質問スレ動いてないよ…
531名無しさん@お腹いっぱい。:2007/01/21(日) 11:48:15 ID:+/PjqbSm0
漏れはJANEで一応3日に一度くらいは見てる
532名無しさん@お腹いっぱい。:2007/01/21(日) 15:28:15 ID:FhlZBMpI0
以前質問したけど、答え帰ってこなかったよ…
533名無しさん@お腹いっぱい。:2007/01/21(日) 16:03:10 ID:Gt6BX/680
質問内容が難しいか、逆によっぽど厨だったかなんじゃね?
Viewでお気に入りに入れて見てるはいるけど、自分がわかる範囲でしか答えられない品
534名無しさん@お腹いっぱい。:2007/01/21(日) 17:06:54 ID:XkIYi7j60
>>528
ありがとう。
サイズだけでファイルタイプ自体は関係ないということでおkですか?
535名無しさん@お腹いっぱい。:2007/01/21(日) 17:11:41 ID:N7zW5XGi0
何でやねんw
536名無しさん@お腹いっぱい。:2007/01/21(日) 20:36:27 ID:tJgvO7u70
対策を教えていただきたいのですが、
XButton2 & WheelUp::PgUp
AutoHotkey.iniに上記を記述し読み込ませようとすると、以下のようにエラーになります。
Line Text: PgUp
Error This line dose not contain a recognized action.

ためしにXButton2をShiftにしたり、0にしたりしてみても同じでした。

XButton2 & WheelUp::MsgBox や
WheelUp::PgUp の記述はうまく動きます。
最初のやつは、なにがいけないのでしょうか。
537名無しさん@お腹いっぱい。:2007/01/21(日) 22:15:40 ID:BoeI6jpu0
XButton2 & WheelUp::send,{PgUp}
538名無しさん@お腹いっぱい。:2007/01/21(日) 22:36:22 ID:tJgvO7u70
>>537
うまくいきました。ありがとうございます。
539名無しさん@お腹いっぱい。:2007/01/22(月) 02:32:10 ID:4r/yRHD30
2chブラウザでリンクをクリックしたら、標準のブラウザ(スレイプニル)にフォーカスが移ります。

2chブラウザで ctrl+shift を押しながらリンクをクリックすれば、
バックグラウンドでリンクが開くようにできないでしょうか?
540名無しさん@お腹いっぱい。:2007/01/22(月) 07:38:24 ID:NVtC6QDV0
で、自分で努力はしないのか?
541名無しさん@お腹いっぱい。:2007/01/22(月) 20:19:39 ID:LVZC9UNK0
出来るかどうか確認してるのか
誰かにそうゆうスクリプトを作ってもらいたがっているのか
判断しかねるな
542名無しさん@お腹いっぱい。:2007/01/23(火) 00:52:30 ID:x/T1b7JD0
>>539
ここ>>540-541みたいな変なひとしかこないよww
おまえいちいちそんなこと書きこみにきてんのかよってやつばかりw

んで、普通にひらいて2chブラウザをすぐアクティブにするんじゃだめなの?
543名無しさん@お腹いっぱい。:2007/01/23(火) 01:00:44 ID:x/T1b7JD0
>>539
俺JANE使ってるリンククリックしてもバックでひらくな。

あと、プニルの「クリップボードを監視する」をオンにしてリンクをコピーするんじゃだめなのか?
544名無しさん@お腹いっぱい。:2007/01/23(火) 01:18:31 ID:s4NZ+DIu0
偉そうな割りにしょぼい内容だな
545名無しさん@お腹いっぱい。:2007/01/23(火) 01:19:54 ID:sr2QUPws0
#IfWinactiveでJaneがアクティブのときのみ有効に設定した上で、

~+LeftButton::
WinSet,Topmost,ON,A   ;アクティブウィンドを常に最前面表示に
Sleep,2000
WinSet,Topmost,OFF,A
return

でどうだろう。Sleepは適当にお好みで。
546名無しさん@お腹いっぱい。:2007/01/23(火) 01:25:53 ID:XM9vwROu0
URLが渡された場合アクティブにしない
とかそういう設定ってSleipnirではできないんだっけ?
とりあえずDonutRAPTではできる。
547名無しさん@お腹いっぱい。:2007/01/23(火) 02:22:32 ID:pzI/AmdM0
Sleipnirでも出来るね、ちゃんと設定にあるよ

まあ、内容からすると常に背面で開くのを望んでるんじゃなくて
修飾キーでそのつど選びたいってことかもしれんが
548名無しさん@お腹いっぱい。:2007/01/23(火) 18:39:35 ID:TFRUeGV90
Sleipnirの方を常に非アクティブになるように設定しておいて、
アクティブにしたいときだけAHKにやらせればいいんじゃないの?
549名無しさん@お腹いっぱい。:2007/01/23(火) 19:43:34 ID:XpnJpTYQ0
Sleipnirに渡すのをAHK経由にしてGetKeyStateで分岐すりゃいい
550名無しさん@お腹いっぱい。:2007/01/24(水) 06:40:05 ID:R8L+9JiG0
>>545
レスありがとうございます。
試してみたのですがうまく機能しません。

iniファイルをリロードしようと試みると、
LeftButtonキーがキーボードにないから有効にできない
とエラーがでたので、一部書き換えました。
その後、リロードはできたのですが、ギコでもジェーンでもうまく機能しません。

#IfWinactive ahk_class GIKO
~+LButton::
WinSet,Topmost,ON,A   ;アクティブウィンドを常に最前面表示に
Sleep,2000
WinSet,Topmost,OFF,A
return


#IfWinactive の使い方に疑問があるのですが、

'1
#IfWinactive ahk_class GIKO
~+LButton::

'2
~+LButton::
#IfWinactive ahk_class GIKO

1と2はどう違うのでしょうか。
551名無しさん@お腹いっぱい。:2007/01/24(水) 07:38:18 ID:xSYRWauI0
自分でリファレンス読んで使ってみれば差が分かると思うんだが。
たぶん2の書き方は普通使わないと思う。
あとCtlr+左クリックなら、~+LButtonじゃなくて~^LButton
552名無しさん@お腹いっぱい。:2007/01/24(水) 07:44:25 ID:xSYRWauI0
あ、Shift+Ctrl+左クリックか。~+^LButtonで。
553名無しさん@お腹いっぱい。:2007/01/24(水) 10:00:05 ID:HaBelEUO0
>>550
LeftButtonじゃなくてLButtonだったな、すまん。
自分でやってみた。

#IfWinactive JaneDoe
~!LButton::
WinSet,Topmost,ON,A
Sleep,2000
WinSet,Topmost,OFF,A
return
#Ifwinactive

Shift+左クリックはJaneだと少し挙動が変なのでAlt+左クリックにしたが、これで問題なく動いた。
JaneView(061208) + Sleipnir(2.49)

あと、iniの最後なら必要ないが、「#IfWinactive hoge」をつかうなら、Returnのあとに「#Ifwinactive」いれとけ。
554名無しさん@お腹いっぱい。:2007/01/24(水) 10:34:41 ID:ayrjtGg+0
#IfWinActive ってプリプロセスされて
最終的にホットキー内の IfWinActive 分岐に変換されるの?
555名無しさん@お腹いっぱい。:2007/01/24(水) 10:48:13 ID:XmU/q5kZ0
違う。条件付きホットキーとして登録される。
556名無しさん@お腹いっぱい。:2007/01/26(金) 14:28:54 ID:cicrlsNf0
ウィンドウをもたないアプリを終了させるにはどうすればいいんですか?
557名無しさん@お腹いっぱい。:2007/01/26(金) 15:09:39 ID:uaXVBTZY0
558名無しさん@お腹いっぱい。:2007/01/26(金) 15:14:46 ID:3tLAnqVA0
>>556
Processで殺す
559名無しさん@お腹いっぱい。:2007/01/26(金) 16:30:01 ID:F2S8NxV60
DetectHiddenWindows On を宣言しといて
WinCLose, ahk_class *** でもどうにかなるかも
560名無しさん@お腹いっぱい。:2007/01/26(金) 17:08:51 ID:KNkYABcf0
2つの式を1行で書く場合、=だけなら下のようにできますが
If(Name="Taro" or Name="太郎")
{
MsgBox,He is Taro.
}

containsだとうまく動きません
If(Name contains "Taro" or Name contains "太郎")
{
MsgBox,He is Taro.
}
解決策はあるのでしょうか?
561名無しさん@お腹いっぱい。:2007/01/26(金) 17:22:40 ID:5eOIVR940
562名無しさん@お腹いっぱい。:2007/01/26(金) 19:02:58 ID:KNkYABcf0
If Name contains Taro,太郎
ですね。有難うございました
ちなみに
If Name contains 太郎
If Myoji contains 鈴木
を1行で書く事もできるんでしょうか?
563名無しさん@お腹いっぱい。:2007/01/26(金) 19:16:06 ID:sP2f5b7x0
残念ながら出来ません
564名無しさん@お腹いっぱい。:2007/01/26(金) 19:22:49 ID:KNkYABcf0
有難うございました!スッキリしますた
565名無しさん@お腹いっぱい。:2007/01/26(金) 19:46:18 ID:fxr439M90
>>558-589
ありがとう。
566名無しさん@お腹いっぱい。:2007/01/26(金) 22:02:08 ID:PPg/SOGn0
もうちょっとましな言語仕様で書き直す動きはないんですか?
既存のスクリプト言語を組み込みとして使うとか。
567名無しさん@お腹いっぱい。:2007/01/26(金) 22:21:20 ID:tlw0uxMe0
>>562 これじゃだめですか?

if InStr(Name, "太郎") and InStr(Myoji, "鈴木") {
MsgBox,He is Taro.
}
568名無しさん@お腹いっぱい。:2007/01/26(金) 22:41:03 ID:eMUaoJL00
InStrやRegExMatch使えば1行で書けるのは解ってる上で
If var contains valuesで書けるかどうかって話なんじゃないの?

If,〜, Command
って書き方は出来ても
If,〜, If,〜, Command
って書き方は出来ないみたいだね
569名無しさん@お腹いっぱい。:2007/01/26(金) 22:54:33 ID:6xTo2EIW0
>>566
任した
責任もって超頑張れ
570名無しさん@お腹いっぱい。:2007/01/27(土) 10:26:09 ID:i2MEXMtV0
>>566
例えばどのように?
君からしたら何が足りないと思う?
571名無しさん@お腹いっぱい。:2007/01/27(土) 10:46:03 ID:5gzwj8Ur0
サスペンドした時に特定のホットキーはサスペンドしないようにしたいんですけど、どうすればいいんですか?
suspend, permit がそれっぽいんですが使い方がいまいち分かりません。
下のようにしてみたのですがうまくいきません。
どうすばいいのでしょう?

ーーーーー
a::Send b

b::
suspend, permit
send c
return

c::Send d
572名無しさん@お腹いっぱい。:2007/01/27(土) 11:12:59 ID:ZXnlBBFN0
sendのあとにコンマをつけない理由は?
573名無しさん@お腹いっぱい。:2007/01/27(土) 12:00:40 ID:5gzwj8Ur0
>>572
sendのあとはコンマつけなくてもつけても大丈夫ですよ。
ヘルプはコンマなしになってます。
ーーーー
Send Keys
SendRaw Keys
SendInput Keys
SendPlay Keys
SendEvent Keys
574名無しさん@お腹いっぱい。:2007/01/27(土) 12:14:29 ID:L+SElJUQ0
Onは実行した?
575571:2007/01/27(土) 12:29:31 ID:5gzwj8Ur0
あ、できました(汗
すいません。
576名無しさん@お腹いっぱい。:2007/01/29(月) 05:17:32 ID:d0Hr6bc70
この汗っかきデブ
577名無しさん@お腹いっぱい。:2007/01/31(水) 16:39:54 ID:7rHkwCL60
VistaいれたPCでAutohotkeyからmasterボリューム変えようとしたら
Autohotkey自体の音量が変わった
アプリケーションごとに音量を変えるvistaの思わぬ弊害だった
578名無しさん@お腹いっぱい。:2007/01/31(水) 20:56:38 ID:5aT+0/4z0
579名無しさん@お腹いっぱい。:2007/02/02(金) 18:18:48 ID:kbdH2Yr/0
たまにアクティブになった直後だと操作が利かないソフトがあるけど
(たとえばfenrirとかでtxtファイル等を開くと一瞬何もキーボード操作できなくなったりするアレです。)
操作ができるようになった後に処理を実行してくれるようにするにはどう書けばいいですかね?

580名無しさん@お腹いっぱい。:2007/02/02(金) 19:15:13 ID:pVg4LIYO0
マウスの移動させるようにプログラムしてマウスの位置が変わったら処理を実行するとか
ClassNNを監視してフォーカスをどっかに移動する操作を繰り返してフォーカスが変わったら処理を実行するとかは?
581名無しさん@お腹いっぱい。:2007/02/03(土) 00:11:54 ID:Nuy7say40
Key history and script info で表示される Type が a の時だけ動作するホットキーの指定方法がよく分からない
修飾シンボルには無いようだし、A_ThisHotKey にはフラグが付かないし、何処見落としてるのか教えてください
582名無しさん@お腹いっぱい。:2007/02/04(日) 00:43:51 ID:P65jbZEa0
無変換キーをCtrlに割り当てるにはどうすればよいのでしょうか?
やったこと1
vk1D::Ctrl
^p::Send,{Up}

最初の1文字だけが有効
実例:<Up>pp

やったこと2
*vk1D::send,{Ctrl down}
*vk1D up::send,{Ctrl up}
^p::Send,{Up}
コントロールが押しっぱなしになってしまう
実例:<Ctrl+Up><Ctrl+Up><Ctrl+Up>

やったこと3
*vk1D::send,{Ctrl down}
*vk1D up::send,{Ctrl up}
^p::Send,{Ctrl up}{Up}{Ctrl down}
実例:<Up><Up><Up>
問題点
Ctrlが入りっぱなしになる場合がある。
Ctrl-Pを押しっぱなしにしていると、たまに「p」が入力される

Capsキーのように無変換キーはCtrlキーに出来ないキーなのでしょうか?
使い方の難しいソフトであり、何でも聞くというのは良くないとはわかりますが、
ヒントもしくは、参考になるURLでもいいので教えていただけないでしょうか?
OSはWindowsXP SP2です.
583名無しさん@お腹いっぱい。:2007/02/04(日) 01:20:49 ID:KoFCTwDl0
組み合わせが少ないなら、全部組み合わせで指定しちゃえば良いんじゃね。
組み合わせが多いなら、このソフト関係なくレジストリでキーリマップ。
584名無しさん@お腹いっぱい。:2007/02/04(日) 18:09:51 ID:qQOam3fS0
>>582
sendinput
senndplay
あたりもためしてみては?
585名無しさん@お腹いっぱい。:2007/02/07(水) 22:01:34 ID:EjVLXz+q0
スクロールバーを右クリックで出てくる「ここにスクロール」を、メニューを出さず(Rbuttonは送らず)に実現するコマンドってありますか?

右クリ→下→Enter
を送ることで実現できるのはわかるのですが、右クリックのメニューを出さない方法があれば知りたいのです。
SendMessageとかで実現できるのでしょうか
586名無しさん@お腹いっぱい。:2007/02/08(木) 23:47:10 ID:eKp+MieL0
587名無しさん@お腹いっぱい。:2007/02/09(金) 18:51:13 ID:IoshsBUy0
>>586
難しそうだけど、やってみます。
ありがとう
588名無しさん@お腹いっぱい。:2007/02/10(土) 00:59:25 ID:M5loxX/l0
ウィンドウのサイズ変えるのってどうするんですか?
↓じゃなにも起こらないんですけど。

winset, region, w100 h100, A
589名無しさん@お腹いっぱい。:2007/02/10(土) 01:15:28 ID:OtiH1ZUq0
WinMoveウィンドウの位置やサイズを変更する
590名無しさん@お腹いっぱい。:2007/02/10(土) 01:23:13 ID:GKlDWF5w0
WinSize(x, y)
591名無しさん@お腹いっぱい。:2007/02/10(土) 01:24:55 ID:GKlDWF5w0
間違えた
Winsize(x, y){
WinGetPos, , , xx, yy, A
x := xx + x
y := yy + y
WinMove, A, , , , x, y
}

592名無しさん@お腹いっぱい。:2007/02/10(土) 01:32:08 ID:M5loxX/l0
レスありがとう。
ところで winset, region, w100 h100, A
って何をするのですか?
593名無しさん@お腹いっぱい。:2007/02/10(土) 01:43:14 ID:C66lkWss0
>>592
ウインドウのスタイルっぽいものをいじるのかな
メモ帳かなんか普通のアプリで試してみ

あと昨日ニュー速にいた?
594名無しさん@お腹いっぱい。:2007/02/11(日) 00:45:21 ID:xMD0EzOg0
>>593
なんで?
595名無しさん@お腹いっぱい。:2007/02/13(火) 00:40:55 ID:htY2bpTb0
Shift+:(コロン)にHotKeyを定義するには、どう書けば良いのでしょう?
コロン単独で
:::Send,{' Down}
: Up::Send,{' Up}
は期待した通りに動くけど、
+:::Send,{" Down}
+: Up::Send,{" Up}
だと
Error: This line does not contain a recognized action.
って言われます。
596名無しさん@お腹いっぱい。:2007/02/13(火) 00:51:38 ID:tJg+CfPi0
>>595
たぶん
+`::: ほにゃらら
でいけるぞ。
もしくは
*:: ほにゃらら
報告よろ。
597名無しさん@お腹いっぱい。:2007/02/13(火) 07:28:55 ID:htY2bpTb0
>>596
+`:::Send,{" Down}
だと
Error: This line does not contain a recognized action.
になりました。
*::
Shift あり と なし を区別したいのですが、うまくうごくのでしょうか?
見た目は動くみたいなので副作用が無ければ良さそうですが…
598595,597:2007/02/13(火) 19:59:51 ID:htY2bpTb0
>>596
良く考えたら、行頭の*はShift+:の意味で、Wildcardの*とは違いますね。
*::で期待した動作になりました。
ありがとうございました。
599名無しさん@お腹いっぱい。:2007/02/13(火) 21:15:38 ID:bn8DZC9q0
やっぱりエスケープできないんだな。
コロンをコロンのままホットキーにするにはどうすればいいかってのは自分も知りたい。
600名無しさん@お腹いっぱい。:2007/02/14(水) 01:51:27 ID:yeUP89At0
#SingleInstance

Hotkey,:,hoge
Hotkey,+:,hage
Hotkey,!:,hige
Hotkey,^:,fuge

return

hoge:
msgbox,hoge
return

hage:
msgbox,hage
return

hige:
msgbox,hige
return

fuge:
msgbox,fuge
return
601名無しさん@お腹いっぱい。:2007/02/15(木) 10:22:57 ID:YgAiWQQ+0
RegExマッチョとかリプレースとかって
正規表現内に変数入れられないのか(´・ω・`)?
602名無しさん@お腹いっぱい。:2007/02/17(土) 09:30:01 ID:ZP1yQVEI0
スレッドストッパーになった俺(´・ω・`)
603名無しさん@お腹いっぱい。:2007/02/17(土) 12:08:55 ID:wkDWLH+D0
AHKではよくあること
604名無しさん@お腹いっぱい。:2007/02/17(土) 12:32:08 ID:m6J0wE8T0
そういやいつのまにか新バージョンも出てたしな
605597:2007/02/17(土) 18:22:56 ID:W2iOx/bK0
>>599
コロン単独のホットキーは ::: (コロン3個)で出来ました。
:::Send,{' Down}
: Up::Send,{' Up}
で動いてます。
606名無しさん@お腹いっぱい。:2007/02/19(月) 15:32:21 ID:u8YRlnY00
PixelSearch とかで指定したり、結果として戻ってきたりする座標は
AutoIt Spy が表示してる値でいいの?

これだとタイトルの幅とかウィンドウボーダーの値が入ってて、
他の環境に移動したら動かなくなるような気がするんだが。
607名無しさん@お腹いっぱい。:2007/02/19(月) 17:40:32 ID:8HzmtcDX0
つCoordMode
608名無しさん@お腹いっぱい。:2007/02/19(月) 19:18:55 ID:u8YRlnY00
>>607
CoordMode じゃ意味ないだろ。
609名無しさん@お腹いっぱい。:2007/02/21(水) 23:05:33 ID:QDwNDGwk0
流行らせるページのうpろだが荒らされてるんだが何があったんだ?
610名無しさん@お腹いっぱい。:2007/02/24(土) 03:22:19 ID:ilR3EAmF0
なんだろな・・?管理人さんも馬鹿じゃないから対策するだろうけど・・
611名無しさん@お腹いっぱい。:2007/02/24(土) 04:26:56 ID:l986rRU50
永久に晒しとけばいいんじゃない?
612名無しさん@お腹いっぱい。:2007/02/24(土) 21:24:44 ID:jZTCZ8UW0
エクスプローラで選択しているファイルのパスをクリップボードにコピーしたいのですが、
よい方法ありませんか?

#c::
send,^c
clipboard = %clipboard%
return

ではうまくいきません。
613名無しさん@お腹いっぱい。:2007/02/24(土) 21:37:47 ID:WwRlvUSK0
clipboard := %clipboard%
じゃまいか?
614612:2007/02/24(土) 22:49:55 ID:jZTCZ8UW0
>>613
clipboard := %clipboard%
にするとエラーが出るのですが。。
615名無しさん@お腹いっぱい。:2007/02/24(土) 23:21:57 ID:fStR1NGO0
>>612 これでどうですか?
#c::
clipboard =
send,^c
ClipWait,5
if !ErrorLevel {
clipboard = %clipboard%
}
return
616612:2007/02/24(土) 23:38:35 ID:jZTCZ8UW0
>>615
ありがとうございます。
私の環境ではうまくいきませんでした。
一つ前に選択して#cしたファイルのパスが格納されてしまいます。
ためしに一度ファイルを手動でコピーしてから、何も選択していない状態でスクリプトを実行したら、
そのファイルのパスが格納されました。
クリップボード内のファイルを、パスに変換するタイミングがうまくいっていないような。。
617名無しさん@お腹いっぱい。:2007/02/24(土) 23:51:41 ID:g/zP2/YB0
AHKでやることにこだわらないなら、コンテクストメニューに
esClipでも登録しといたらどうだろうか
618名無しさん@お腹いっぱい。:2007/02/25(日) 00:03:54 ID:ZGigvIQr0
>>616
>>ためしに一度ファイルを手動でコピーしてから、何も選択していない状態でスクリプトを実行したら、
>>そのファイルのパスが格納されました。

最初に、"clipboard =" でクリップボードをクリアしているので、それはないはずなんですが・・・
それと、"if !ErrorLevel {" で、コピーが成功したときのみ "clipboard = %clipboard%" を実行するように
なっているので、無選択状態でスクリプトを実行しても意味がありません。

"clipboard =" で、クリップボードがクリアされていないようですね。原因はわかりません。
619名無しさん@お腹いっぱい。:2007/02/25(日) 18:07:06 ID:mv8pafga0
バカな質問で申し訳ないけど、これってUWSCとどう違うの?
620612:2007/02/25(日) 22:13:30 ID:g6HqtF8m0
>>618
解説ありがとうございます。
やはりクリップボードのクリアに失敗しているように感じます。
もう一度見直してみます。

>>617
最近のhoekeyに選択しているファイルを引数として実行する機能がありまして、
どうやらそれは、内部で一度Ctrl+Cを送ってクリップボード経由でパスを取得しているようなのです。
AHKでも同じ事が出来たらいいなとおもいまして。

621名無しさん@お腹いっぱい。:2007/02/25(日) 22:30:38 ID:zvQ2huLS0
>>619
UWSCと違って必ずしもフックを導入するのでは無いところとか
622名無しさん@お腹いっぱい。:2007/02/25(日) 23:54:35 ID:En02WOrl0
>>620
clipboard =
Send, ^c
ClipWait, 2
if ErrorLevel <> 0
{
;MsgBox, The attempt to copy text onto the clipboard failed.
return
}
MsgBox,%clipboard%

ウチのXP環境ではこれでちゃんとクリップボードにパスが格納されますよ。
関係ないけど個人的にやりたいことがあって>>612のレスがヒントになって出来たw感謝です。
623名無しさん@お腹いっぱい。:2007/02/26(月) 00:37:13 ID:hG9pCTXG0
vimとかemacs用の色付けのファイルが
AutoHotKeyフォルダに入ってたの知らなかったよ。
624名無しさん@お腹いっぱい。:2007/02/26(月) 01:19:00 ID:dnTYkir50
つかクリップボードの人は「私の環境では動きませんでした。」とか報告はするのに
その環境を書かないのは何故なんだろう。
625名無しさん@お腹いっぱい。:2007/02/26(月) 07:34:46 ID:wJgRvsuJ0
>>623
まじ?
俺自分でつくったのに。
626名無しさん@お腹いっぱい。:2007/02/26(月) 14:25:18 ID:uqs2u6Ff0
>>623
これはすごい!
627名無しさん@お腹いっぱい。:2007/02/26(月) 14:56:38 ID:AOuNS6u70
なにをいまさら
628名無しさん@お腹いっぱい。:2007/02/26(月) 22:09:00 ID:4+7E8Qbf0
組み込み変数やCの#defineのように、任意の定数をスクリプトの
先頭部分で定義しておくにはどうすれば良いのでしょうか?
629名無しさん@お腹いっぱい。:2007/03/01(木) 18:57:32 ID:jkptr6820
今日から使い始めた新参者です。
いきなり質問で申し訳ないのですが、勉強がてら作り始めたFirefoxのアクティブなタブから
タイトルとURLを取得して、WWWCの「HTTPアイテムの追加」に貼り付けるスクリプトを
とりあえず完成させたのですが、URLの取得方法に不満がありまして…
現状はFirefoxをアクティブにしてsendでalt+d(ロケーションバーアクティブ)、ctrl+cでやってまして、
これをなんとかバックグランドで処理する方法はないでしょうか?
ロケーションバーのクラスがわかれば可能だと思ってAU3_Spy.exeやDOMinspectorで
調べてみたんですが、わかりませんでした
630名無しさん@お腹いっぱい。:2007/03/01(木) 21:23:27 ID:8Ve48U+s0
FIreFoxからタイトルとURLは得られんだっけ?
漏れは昔、WWWCのDATに直接書き込むっていう方法をとってたよ
631名無しさん@お腹いっぱい。:2007/03/02(金) 01:28:41 ID:PFCFYvq70
WinGetでid(っていうのかな?)とってControlSendでいいんじゃないの?
632名無しさん@お腹いっぱい。:2007/03/02(金) 02:00:10 ID:wUH68NmN0
Frefox は OS のウィンドウシステムに頼らずに内部で独自実装してるからわからんだろ。
裏で取得するなら mozrepl 辺りを使えばいいんじゃないか?
633名無しさん@お腹いっぱい。:2007/03/02(金) 02:51:39 ID:Tu3JYC2H0
>>630
「ブラウザから情報を取得」が効かないんです…。
DATに直接書き込みだとオプションも一度に登録できるし、
アイテムを同時に複数登録することも可能ですね。
次の課題にしてみます

>>631
ControlSendを使ってクリップボードを介して裏で処理ができました。
ControlSendは試していたんですが、試していた時は動かなかったんです
今わかったんですが、その時おかしかったのはSetKeyDelayを
設定してなかったのが原因だったようです。(SetKeyDelay ,1でちゃんと動いた)
試行錯誤していたせいで問題の切り分けができていませんでした。
取りあえず作りはじめたのが失敗でしたね。反省します!

>>632
AU3_Spyで他のブラウザのアドレスバーをチェックするとエディットのクラスが
見つかるんですが、Firefoxだと駄目だったのはそういう理由なんですね。
mozreplは…奥が深そう、というかかなり無茶もできそうですね。ちょっと調べてみます

問題の切り分けもできずに質問して大変失礼しました。
そして、みなさん回答ありがとうございました。
…でも、作った後でFirefoxからIEを起動させる拡張を使って、IEから情報を取得しても
それほど手間でもなかったなぁと気付いたのはここだけの話orz
634名無しさん@お腹いっぱい。:2007/03/02(金) 12:42:56 ID:M4febe2X0
OPERAも昔はWinTextでURLが取れたけど
今は取れないのでアドレスバーからコピーという感じになってるなあ
今思いついたがオミトロンさんで
タイトルバーにURLも表示されるようにしちゃえばいいかなとか思った
635名無しさん@お腹いっぱい。:2007/03/11(日) 13:16:55 ID:WcyAzwvM0
じぇんじぇん使い方わかんねえwwwww
これ使ってるのってプログラムとか齧ったことある人ばっか?
636名無しさん@お腹いっぱい。:2007/03/11(日) 13:51:05 ID:i2peDMfR0
プログラムのプの字も分からない俺でも使えてるから試行錯誤してやってみ
637名無しさん@お腹いっぱい。:2007/03/11(日) 16:07:15 ID:HEXaDMDS0
ListViewの指定項目(できれば項目名で)を選択することってできないでしょうか?
リストボックスなんかで使うControl,Chooseではダメでした。

WinAPIやSendMessageから探してもよくわかりませんでした・・・

どなたかお力をお貸しください。
638名無しさん@お腹いっぱい。:2007/03/11(日) 16:16:03 ID:ZcKcoTAK0
>>635
プログラマと言えども、一番最初は何も知らない初心者

サンプルも多いし、丁寧な解説サイトもあるし
>>2辺りから巡ってポチポチ遊んで行くのが良いかと
639名無しさん@お腹いっぱい。:2007/03/11(日) 16:21:00 ID:KXAcFqF8P
>>635
用意されてる機能を使う、って感じじゃあないからね。
とりあえず何かしらやりたいことがないと始まらない。
自分は「EXCELでF1キーを無効にしたい」とか「無変換キーでランチャを起動したい」とか、そんなとこから入っていったかな。
640名無しさん@お腹いっぱい。:2007/03/13(火) 01:12:14 ID:uq2NNjhv0
選択単語のヤフオクの相場を調べたいんですが、下記のスクリプトがスレイプニル2、55でうごきません。
他のアプリケーションでは動くのですがなんでだろ?

OSはXP home sp2、IE6の環境です。

^+y::
clipboard =
Send, ^c
ClipWait
Run http://www.aucfan.com/search1?ss=255&t=-1&q=%clipboard%&o=t1
return
641637:2007/03/13(火) 19:02:17 ID:R3DFDCSO0
なんとかLVM_SETITEMを使えばできるということがわかりました。
が、調べれば調べるほど共有メモリの問題だとか、自分には敷居が高くてお手上げです。

ttp://p2.chbox.jp/read.php?host=pc7.2ch.net&bbs=software&key=1129836713&ls=268-275
前スレでTListView情報取得をLVM_GETITEMを使ってやる方法が載っていたので
これを参考に作ろうと思いましたが、難しくてできませんでした。
642名無しさん@お腹いっぱい。:2007/03/14(水) 09:08:10 ID:X5UIJvXT0
2chの書き込みを専用ブラウザのdat風に書き換えたいんだが何かがおかしい。
クリップボードにテキストをエディタから手動でコピーすれば以下で完璧に動くが
(今はコメントアウトしてある)FileReadから読んでの変換だと駄目。

漏れだけか?

#EscapeChar '
;FileRead, ClipBoard, temp.txt

;ClipBoard := RegExReplace(ClipBoard, "s)^.+?\<dl class=.+?\>'r?'n(.+?)\</dl\>.+$", "$1", sute, -1) ;.htmファイルから書き込みのみを取り出す
StringReplace, ClipBoard, ClipBoard, #, ***sharp***, All
StringReplace, ClipBoard, ClipBoard, &, ***and***, All
ClipBoard := RegExReplace(ClipBoard, "\<dt\>(\d{1,3}) :\<a href=.+?mailto:(.+?)\>\<b\>(.+?)\</b\>\<\/a\>:(次行とつなげる)
(20\d{2}\/\d{2}\/\d{2}\(.+?\) \d{2}\:\d{2}\:\d{2}) ID\:(.+?)\<dd\> (.+)", "$1#$3#$2#$4#$5#$6", sute, -1)
ClipBoard := RegExReplace(ClipBoard, "\<dt\>(\d{1,3}) :\<font color=green\>\<b\>(.+?)\</b\>\<\/font\>:(次行とつなげる)
(20\d{2}\/\d{2}\/\d{2}\(.+?\) \d{2}\:\d{2}\:\d{2}) ID\:(.+?)\<dd\> (.+)", "$1#$2##$3#$4#$5", sute, -1)
ClipBoard := RegExReplace(ClipBoard, "m)(\W)t?tp://|(\W)htp://", "$1$2 <br> @@@http://", sute, -1)
ClipBoard := RegExReplace(ClipBoard, "\<a href\=.+?\>(.+?)\<\/a\>", "$1", sute, -1)
StringReplace, ClipBoard, ClipBoard, "#, #, All
StringReplace, ClipBoard, ClipBoard, font color=green, , All
StringReplace, ClipBoard, ClipBoard, %A_Space%<br>%A_Space%, &, All
StringReplace, ClipBoard, ClipBoard, %A_Space%%A_Space%<br><br>'r'n, 'n, All
643名無しさん@お腹いっぱい。:2007/03/14(水) 09:12:58 ID:X5UIJvXT0
2chの.htmの一例

<dt>607 :<a href="mailto:sage"><b>名無しさん@お腹いっぱい。</b></a>:2007/02/19(月) 17:40:32 ID:8HzmtcDX0<dd> つCoordMode <br><br>
<dt>609 :<a href="mailto:sage"><b>名無しさん@お腹いっぱい。</b></a>:2007/02/21(水) 23:05:33 ID:QDwNDGwk0<dd> 流行らせるページのうpろだが荒らされてるんだが何があったんだ? <br><br>
<dt>610 :<a href="mailto:sage"><b>名無しさん@お腹いっぱい。</b></a>:2007/02/24(土) 03:22:19 ID:ilR3EAmF0<dd> なんだろな・・?管理人さんも馬鹿じゃないから対策するだろうけど・・ <br><br>
<dt>611 :<a href="mailto:sage"><b>名無しさん@お腹いっぱい。</b></a>:2007/02/24(土) 04:26:56 ID:l986rRU50<dd> 永久に晒しとけばいいんじゃない? <br><br>
<dt>613 :<a href="mailto:sage"><b>名無しさん@お腹いっぱい。</b></a>:2007/02/24(土) 21:37:47 ID:WwRlvUSK0<dd> clipboard := %clipboard% <br> じゃまいか? <br><br>
<dt>619 :<a href="mailto:sage"><b>名無しさん@お腹いっぱい。</b></a>:2007/02/25(日) 18:07:06 ID:mv8pafga0<dd> バカな質問で申し訳ないけど、これってUWSCとどう違うの? <br><br>
644名無しさん@お腹いっぱい。:2007/03/14(水) 10:49:51 ID:Cc+Mx7QR0
んな複雑なのを書かなくてもhtmltodatってソフトがあるから
それを使うか、それの正規表現をほぼそのまま移植すれば望みの動作になると思う。
645名無しさん@お腹いっぱい。:2007/03/14(水) 11:58:55 ID:WxwzSMJh0
すべてでClipBoard使わなくても
適当な変数で処理してから書き戻した方がよくね
646名無しさん@お腹いっぱい。:2007/03/14(水) 12:05:46 ID:aKYLz/eU0
[[A0624-aacQ9gWS-UT]]

<<涼宮ハルヒ@涼宮ハルヒの憂鬱>>
彼女だけに投票。
他のアニメは知らないし知ろうとも思わないので投票も一つだけ。

はっきりいって彼女は二次元キャラの中でも
トップクラスに「リアル」なキャラだと思う。
(設定自体は非現実的だが)
彼女の性格、行動の動機にリアリティがあったからこそ、
見てる人に共感を持たれてこの作品はここまで売れたんだと思う。
たぶん、これを超える萌え系アニメは生まれない。
俺は普段アニメ見ないけど、ハルヒには萌えた。
647名無しさん@お腹いっぱい。:2007/03/14(水) 13:12:08 ID:xAfcEt5l0
>>644
したいのはHtmlのDat化じゃなくて、スレのまとめサイト作成の支援。
およそ1800行のスクリプトで作ったGUIは半分2ch専用ブラウザと化している

>>645
ClipBoardを使わず別の変数を使っても効果なし、1行ごとに変数の名前を変えても同じくダメだった。
648名無しさん@お腹いっぱい。:2007/03/14(水) 14:28:48 ID:aG1//su10
> およそ1800行のスクリプトで作ったGUIは半分2ch専用ブラウザと化している
本当に作ってるならうpして
ttp://lukewarm.s101.xrea.com/up/

本当は作ってないなら、無視するなり適当な言い訳して逃げるなりお好きなように


というか、こういうのはWSH使った方がいいじゃん。AHKとWSHの完璧な連携は無理だけど
実行、終了待ち、終了コード取得、情報のファイル渡し、くらいは出来るから
充分に実用レベルでの連携は可能
649名無しさん@お腹いっぱい。:2007/03/14(水) 15:15:37 ID:IxIUM+Ri0
今日はご機嫌ナナメみたいです。
650名無しさん@お腹いっぱい。:2007/03/14(水) 15:42:35 ID:g+bc3wgJ0
それは仕方ないな
651名無しさん@お腹いっぱい。:2007/03/14(水) 18:14:44 ID:Cc+Mx7QR0
>>647
おいおい、んな1800行も書いてるのなら
FileReadで読み込めないとかいう頓珍漢なこと言わんだろw

俺が適当に書いたのはコメント入れて50行強で目的の動作を果たせてるぞw
652名無しさん@お腹いっぱい。:2007/03/14(水) 19:34:13 ID:8Hnv+Kx80
MSGBOXで変数を都度表示させまくって
どこで躓いてるか見ればいいと主
653名無しさん@お腹いっぱい。:2007/03/15(木) 12:35:22 ID:HZK/oFS/0
>>648
まあどのスレのまとめかとかなどわかる部分とコメントアウトは消させてもらったが
http://up3.viploader.net/mini/src/viploader120653.txt

>>652
もちろんそれも何度もやったし、スレッドの割り込みが悪いんじゃないかと
最大スレッド数制限もやったしCriticalをはさんでみたりSleepをはさんでみたけど
やはり全部ダメだった。
>>642の最初の正規表現が、htmの最初の1行にしか適用されない。
っていうよりお前ら>>642>>643を試してみてください。
こういう異常が出るのは俺だけなのか、スクリプトの書式が悪いのかはっきりさせたい。
654名無しさん@お腹いっぱい。:2007/03/15(木) 13:49:29 ID:8rMdMdtB0
Loop使えよ
655名無しさん@お腹いっぱい。:2007/03/15(木) 14:14:41 ID:HZK/oFS/0
やってみる
656名無しさん@お腹いっぱい。:2007/03/15(木) 14:24:39 ID:HZK/oFS/0
Loop, Readでうまく行ったよ
ありがとう
657名無しさん@お腹いっぱい。:2007/03/15(木) 15:57:15 ID:LPjV1xT70
CapsLock::
Send,test
return

上のが日本語キーボードだと動かないんだけど、なんでですかね。
658名無しさん@お腹いっぱい。:2007/03/17(土) 11:15:40 ID:6rzf8o350
日本語環境だとLock系キーの動作は不定
OS側がキーUp/Down情報が正しく返してこないので対処のしようがない。
OSのローカライズ段階で発生してる問題なので、窓使いの憂鬱のようにドライバレベルで弄らないとダメだが
英語圏では問題ないらしいので今後のサポートもあまり期待できない。


この質問次スレではテンプレ入れたほうが良くない?完全にFAQと化してるし
659名無しさん@お腹いっぱい。:2007/03/17(土) 14:01:32 ID:2RLE6wmu0
>>658
thx.

漏れは英語 kb しか使わないんで気づかなかったが、
自分で作ったソフト知り合いに渡したら動かないって言われて焦ったよ。
次スレ立てる機会があったら FAQ にいれておきます。
660名無しさん@お腹いっぱい。:2007/03/18(日) 18:47:33 ID:OoXdxRAw0
vk1Dsc07B & i::Send,{UP}
vk1Dsc07B & m::Send,{DOWN}
vk1Dsc07B & j::Send,{LEFT}
vk1Dsc07B & k::Send,{RIGHT}
vk1Dsc07B::Send,{vk1Dsc07B}

と、いった感じで「無変換+I、M、J、K」でダイヤモンドカーソルを利用しています。
ここで、「無変換長押し→無効」や、
「(Shift|Ctrl)+無変換+I」→「(Shift|Ctrl)+↑」といった動作にさせる方法はあるでしょうか。
教えていただけると嬉しいです。
661名無しさん@お腹いっぱい。:2007/03/18(日) 23:28:31 ID:kShrP0tv0
複数のスクリプトをひとつのスクリプトファイルにすることってできないの?
662名無しさん@お腹いっぱい。:2007/03/19(月) 00:38:18 ID:XNR7aLxn0
常駐型のスクリプトでウェブで拾ったのは
自分でいじって一つにまとめてるよ。
サブルーチン多用する作りなので
グローバル変数が多くなりがちで困る。
663名無しさん@お腹いっぱい。:2007/03/19(月) 01:43:45 ID:GKjT+4QxO
>>660
KeyWait
if文
GetKeyState
664名無しさん@お腹いっぱい。:2007/03/19(月) 11:57:55 ID:Exqy0pFs0
>>663
ありがとう。
リファレンスとにらみっこしているけれど、全然わかんねえわ。
もう少し粘ってみる。
665名無しさん@お腹いっぱい。:2007/03/19(月) 12:54:46 ID:R3lYP90O0
1::
Loop, 10
{
Sleep, 1000
Send, 1
}

みたいなループ回しているときに、2 を押したらループを止めたいんだけど、
グローバルな変数で状態を保持するしかないのかなぁ?
簡単にやる方法があったら教えてください。
666名無しさん@お腹いっぱい。:2007/03/19(月) 13:10:10 ID:hAasEkcp0
HotKey, On
は?
667名無しさん@お腹いっぱい。:2007/03/19(月) 20:54:52 ID:GVfxvtF20
>>660
変換キーで似たようなことを、というかkey extentionってソフトを
AHKで再現しようとして挫折した覚えがある。

結局今はレジストリで変換キーを右Windowsキーに入れ替えて、
+^>#i::Send,+^{Up} とか修飾キー含めて全部書いてる。
そうまでして移植しようとした理由は今では思い出せない。

正直key extention使っちゃえば?無変換でも使えるし。
668名無しさん@お腹いっぱい。:2007/03/19(月) 21:21:10 ID:Exqy0pFs0
>>667
KeyExtension は使ったけれど、無変換キーが完全に死んでしまうのでやめました。
今は窓の中の憂鬱で希望通りに動かしてはいるのだけれど、やっぱり AHK で再現させたくて。
AHK の方が応用が利きそうだし、というか、自己満足なんだけれど。
669名無しさん@お腹いっぱい。:2007/03/20(火) 00:02:17 ID:KYS7KPwV0
>>660
vk1Dsc07B & I::Send, {Blind}{Up}
はどうですか?
670名無しさん@お腹いっぱい。:2007/03/20(火) 10:30:07 ID:aWvLj0ST0
>>669
ありがとうございます。
「(Shift|Ctrl)+無変換+I」→「(Shift|Ctrl)+↑」という望んだ挙動になりました。
あとは、「無変換単打→無変換」「無変換長押し→無効」の二つが成り立つことです。
それも教えていただけると嬉しいです。<(_ _)>
671名無しさん@お腹いっぱい。:2007/03/20(火) 15:17:41 ID:qBDsGecw0
ToolTipのフォント(サイズや色も)変更する事はできますか?
672名無しさん@お腹いっぱい。:2007/03/21(水) 00:01:41 ID:JiWTD/Ko0
特定のキーが押された時に、スクリプトを停止するようにするにはどうしたらいい?
673名無しさん@お腹いっぱい。:2007/03/21(水) 00:07:24 ID:ZfqWLWY50
コンセント抜く人に待機してもらっておけば良い。
674名無しさん@お腹いっぱい。:2007/03/21(水) 01:15:24 ID:KXy9hQo60
>>673
出来たよバーカ
死ね
675名無しさん@お腹いっぱい。:2007/03/21(水) 01:19:37 ID:R2LH9WxN0
>>674
      |:::::::::::::::
      ∧_∧::::::::::::
     (´・ω・`) :::::::: なに言ってんだよ、ぶち殺すぞ
◎ー)  /     \:::::::::
 |  | (⌒) (⌒二 )::::::::::::
 ~~~ /⌒ヽ( ̄、  ヽ___
   /    Lヽ \ノ___
   ゙ー―――(__)---
676名無しさん@お腹いっぱい。:2007/03/21(水) 02:42:24 ID:Qp00gbjl0
ぶち殺せ
677名無しさん@お腹いっぱい。:2007/03/21(水) 11:10:45 ID:KXy9hQo60
なんだてめえ
ぶち殺してみろや
俺のオヤジは日本でも五本の指がないヤクザだ
678名無しさん@お腹いっぱい。:2007/03/22(木) 00:00:02 ID:tCjX7Te/0
日本語でおk
でお前はつおいの?
679名無しさん@お腹いっぱい。:2007/03/22(木) 06:59:41 ID:mtwiPO060
指がなくてもバルカン仕込んでるだろうから油断するなよ
680名無しさん@お腹いっぱい。:2007/03/22(木) 18:54:13 ID:cDHlroj60
ウィンドウの指定なんだけど
全く同じウィンドウが複数個ある
その中の2個目を指定したいんだけど出来る?
681名無しさん@お腹いっぱい。:2007/03/22(木) 20:12:14 ID:Sz2/gegd0
Window Textから指定したいウィンドウの特徴が取得できるなら可能だけど
682名無しさん@お腹いっぱい。:2007/03/22(木) 20:25:26 ID:yQ76Ro6B0
「2個目」がどういう条件化は分からんけど
PIDを取得して選り分けていけばいいんじゃないの
683名無しさん@お腹いっぱい。:2007/03/23(金) 15:48:00 ID:Qtd+7QTd0
割り込み優先度って1が高くて20が低い?
684名無しさん@お腹いっぱい。:2007/03/24(土) 00:51:36 ID:psPhH9ly0
>>683
たぶんそう。

Ahk2Exe ってコマンドラインから使えないのかな?
毎回ファイル選択したりするのメドイ。
685名無しさん@お腹いっぱい。:2007/03/24(土) 00:55:24 ID:n7SwHgFf0
686名無しさん@お腹いっぱい。:2007/03/24(土) 01:01:09 ID:bSXUuUaB0
ポチエスでAHKに関連付けてEXE化したりしてるよ
687名無しさん@お腹いっぱい。:2007/03/24(土) 02:37:49 ID:psPhH9ly0
>>685
thx.

これで心置きなく Makefile 作れるよ。
688名無しさん@お腹いっぱい。:2007/03/25(日) 08:10:36 ID:nuD9KSBL0
C-x k => Ctrl+w
C-x C-s => Ctrl+d
を設定しようとしているのですが、どうもうまくいきません。

Transform, CtrlS, Chr, 19
^x::
Input, InputChar, B C I M L1, ^g, k, %CtrlS%
if ErrorLevel = Match
{
if InputChar = k
Send, ^w
if InputChar = %CtrlS%
Send, ^d
}
return

689688:2007/03/25(日) 08:17:02 ID:nuD9KSBL0
書き忘れです。
C-x k は動作します。
690名無しさん@お腹いっぱい。:2007/03/25(日) 10:26:04 ID:QPIMBpcq0
ToolTipで押下キーの情報表示するようにしてみれば?
691688:2007/03/25(日) 19:24:52 ID:Ge5G+aI30
ありがとうございます。
Transformより上の行にキー変更をいろいろ書いていたのが原因でした。
お騒がせしました。
692名無しさん@お腹いっぱい。:2007/03/25(日) 22:00:04 ID:J0ZmEr3G0
Menu の ToggleCheck でチェックの有無を切り替えられるようにしたんですが、
どうすればチェックの状態を取得できるんでしょうか?
チェックがある場合だけ特定のホットキーを有効にしたいんですがやり方がわかりません
693名無しさん@お腹いっぱい。:2007/03/25(日) 22:43:26 ID:XWHiNk3s0
>>692
ToggleCheckを行うのとHotkeyのOnOff切り替えを一緒にやりゃ良いんじゃね?
694名無しさん@お腹いっぱい。:2007/03/26(月) 00:44:33 ID:rxxrBNZ10
それ自分も昔はまった。Menuから状態を取得するのはムリポみたいだったので
結局変数で独自にEnabled状態を覚えておいて、Menu操作されたらフラグを反転 & Menu再描画
ってやってるよ。正直マヌケっぽい気もするが
695名無しさん@お腹いっぱい。:2007/03/26(月) 18:58:52 ID:832M3VaP0
今日使い始めたばかりで、今一つずつスクリプトを動作確認しているミジンコ中のミジンコです。
レベルが低い質問で本当に恐縮なのですが一点だけ質問させて下さい。

やりたいことは単純で、スクリプト実行中に任意のタイミングでマウスを使わずにスクリプトを強制停止させたいのです。
ですがPause script などのショートカットがhelpなどで探しても見あたらなかった為、
恐らくホットキーで設定すればよいのだろう…と自己解釈しました。
そこで、webの例文にありました #x::ExitApp などをスクリプトの先頭に挿入してみたのですが、
ホットキーは有効になった物の今度はホットキーの設定以降のスクリプト本文が実行されなくなってしまいました。

恐らく根本的な所から理解ができておらず、勘違いしているのだと思います。
極力自力でやろうとは思っていますので、何かヒントを教えて貰えないでしょうか?
696名無しさん@お腹いっぱい。:2007/03/26(月) 19:08:01 ID:e7vv9zN80
とりあえず#x::ExitAppを消してから文末に

return
#x::ExitApp

をつけるといいよ
あと叩かれたくないのは分かるけど
あんまり丁寧にかかれすぎると読むのがめんどい
697名無しさん@お腹いっぱい。:2007/03/26(月) 19:31:23 ID:LI5rZNNn0
奇遇だ俺も昨日はじめたばっかりで
同じことで悩んだ
俺はラベル作ったら解決した
なんでかはわからない
698名無しさん@お腹いっぱい。:2007/03/26(月) 20:43:55 ID:yLlPiQV5P
読むのがめんどいんなら読まなきゃいいんじゃない?
699名無しさん@お腹いっぱい。:2007/03/26(月) 21:03:51 ID:zRZRKhhl0
読んでもいいし、それに文句つけてもいいし、さらにそれに文句つけてもいいけど、だから何?
700名無しさん@お腹いっぱい。:2007/03/26(月) 21:18:51 ID:yLlPiQV5P
まあとりあえず700
701名無しさん@お腹いっぱい。:2007/03/26(月) 23:34:53 ID:rxxrBNZ10
スクリプト先頭は AutoExecute領域だからじゃね?
あと強制終了ではなく、一時的に止めたいだけなら Suspend や Pauseコマンド使うのも手
702695:2007/03/27(火) 02:11:19 ID:szHVksQ20
具体的なレスいくつもありがとうございます。
実際に書かれてみた物を全て試してみて、自分の説明が至らなかった事に気が付きました。
上に自分が書いた”任意のタイミング”と言うのは、マウス動作も含めた延々ループする
スクリプトを実行中に、単純に何かのキー入力で再生を停止させたいだけだったりします。

例えば+p::pause か何かを挿入すると、確かにshift+Pでアイコンが停止して赤くはなるようにはなったのですが
同時にキー入力関係なく+p::pause挿入箇所でスクリプトが止まってしまうのです…。
念のため+p::pause, on で止めて、+o::pause, off などで再開させてもアイコンが緑に戻るだけで動作せず。
shift+P入力しない限りは動作し続けるようにしたいのですが…
恥を忍んで再び書き込んでみます。

あと、まさかと思ったので一応Win2k SP4 とWin XP Sp2の環境で試してみてます。
703名無しさん@お腹いっぱい。:2007/03/27(火) 02:38:02 ID:CHlsDevq0
#Persistent
SetTimer,ラベル1,間隔,優先度
Hotkey,+P,ラベル2,P優先度

ラベル1:
マウス関連
ラベル2:
+P:: Pause
Return
704名無しさん@お腹いっぱい。:2007/03/27(火) 09:03:46 ID:9bI1SgsL0
>>702
>>696をつければ「絶対」に希望通りになるずなんだが?
705名無しさん@お腹いっぱい。:2007/03/28(水) 00:15:41 ID:JcTiRbE30
Pauseはタイマーを止めるコマンドだよ。
ホットキーを止めたいならSuspend
時間がかかる処理や永久ループから抜けたいとかの場合は >696でスクリプト自体を中断するしかない
706名無しさん@お腹いっぱい。:2007/03/28(水) 01:37:58 ID:4ep9IVa30
>>702
スクリプトが読み込まれると、最初にReturnかExitが実行されるか、ホットキーラベルが記述されている行やスクリプトの終わりに達するまで、スクリプトが実行される。
この部分のことを、auto-executeセクションと呼ぶ。
ttp://lukewarm.s101.xrea.com/Scripts.html#autoexecsection

つまり、流れをぶった切るような場所にホットキーラベルを書くなと。

>>703
二重に定義してるし・・てか、それだとreturnに到達する前にスレッドが停止するよ。
あと、#persistentは要らないよ。
707名無しさん@お腹いっぱい。:2007/03/28(水) 02:49:59 ID:fUgA75VT0
708名無しさん@お腹いっぱい。:2007/03/29(木) 01:18:53 ID:F1tEbtqa0
>>707
俺のレベルでは
ttp://lukewarm.s101.xrea.com/test/read.cgi/bbs/1146398137/45
の使い道が全くわからない。

だれか便利な例を挙げてもらえませんか?
709名無しさん@お腹いっぱい。:2007/03/29(木) 23:59:26 ID:l7WoxTnd0
自分、マイコンアセンブラで飯食ってた人間だが、ぜんぜんわからんw

マシン語でダンプデータをウニャウニャするのはバージョンアップとかリコンパイルとかで
アドレス参照先変わっちゃって面倒なことになったりせんのかな〜。
ヘタレなんで速度犠牲になっても汎用性のあるコード体系のほうが楽でいいわ、と日和ってしまう
710名無しさん@お腹いっぱい。:2007/03/31(土) 10:22:18 ID:YbTQ/seN0
Extra に入ってる ahk-mode がまともに動かないのは漏れだけ?
indent-region は無限ループで止まってるし、
Send, {hoge} って書こうとしても、
Send,
{
hoge
}
みたいに勝手にインデントされてしまう。
711名無しさん@お腹いっぱい。:2007/04/01(日) 03:54:18 ID:nq71LOv80
>>709
アドレスは実行時に埋め込んでいるらしい
712名無しさん@お腹いっぱい。:2007/04/01(日) 10:43:17 ID:vz+Kh9R10
AHKってみんな何に使ってるの?
ゲームのキーカスタマイズしか使ったことがない。
凝ったことしようと思うと他のスクリプトやDelになっちゃうし。
713名無しさん@お腹いっぱい。:2007/04/01(日) 16:28:04 ID:rHTmyaWjP
windowsキー+カーソルキーでアクティブ窓の移動。タスクバー上置きだから作ってみた。

定期的にCPU使用率を調べて、5%以下ならeMemを実行(メモリ解放)
EXCELでF1キーを殺す

あとはランチャやファイラの起動くらいか。
俺のスキルじゃそんなもんだ。
714名無しさん@お腹いっぱい。:2007/04/01(日) 16:33:46 ID:DGWHB/LS0
> windowsキー+カーソルキーでアクティブ窓の移動。
これ気になる。よかったらコード教えて
715名無しさん@お腹いっぱい。:2007/04/01(日) 16:44:27 ID:zjPrNQT80
基本的に定型作業の自動化とかだなあ
ゲームのキーカスタマイズってどんなことするの?
716名無しさん@お腹いっぱい。:2007/04/01(日) 18:57:47 ID:1aSoh/rh0
>>714
713じゃないけどWinmoveで動かすだけだよ
F1キーキラーも合わせて、昔流行らせるBBSの投稿スレかアプロダあたりに上げたような
717713:2007/04/01(日) 21:09:16 ID:rHTmyaWjP
#Left::
WinGetPos,x,,,,A
WinMove,A,,x-10
Return

#Right::
WinGetPos,x,,,,A
WinMove,A,,x+10
Return

#Up::
WinGetPos,,y,,,A
WinMove,A,,,y-10
Return

#Down::
WinGetPos,,y,,,A
WinGetPos,,,,h,ahk_class Shell_TrayWnd
h:=h-4
if (A_ScreenHeight/2>h && y<h)WinMove,A,,,h
else
WinMove,A,,,y+10
Return


タスクバー上置きなので、windowsキー+↓で助けてってバー(だっけ?)っぽい動きをしてます。
タテ置きや下置きでも誤動作はしないはず。
718名無しさん@お腹いっぱい。:2007/04/01(日) 21:38:48 ID:KOBQou5v0
任意の座標下のコントロールを取得したいのですが
MouseMove,x,y
MouseGetPos,%x%,%y%,control
みたいにマウスを移動させないで、ダイレクトに取得する事はできますでしょうか?
719名無しさん@お腹いっぱい。:2007/04/01(日) 21:42:40 ID:KOBQou5v0
すみません_| ̄|○勘違いしてました
MouseMove,x,y
MouseGetPos,,,,control
ですね・・・
720名無しさん@お腹いっぱい。:2007/04/01(日) 21:45:46 ID:DGWHB/LS0
>>716-717
おー、こりゃ便利
感謝!
721名無しさん@お腹いっぱい。:2007/04/01(日) 22:31:49 ID:JlP1wJHu0
主に多ボタンマウス(MX-R)のアプリ別キー割り当てに使ってる。
Enter,Escとかのよく使うキーの他に
http://www.autohotkey.com/docs/scripts/index.htm
の Easy Window Dragging とかも組み入れたり
ウィンドウのリサイズも大ざっぱな位置からできるようにしたので
細かいドット合わせの必要がかなり減って快適になった。
722名無しさん@お腹いっぱい。:2007/04/01(日) 23:58:02 ID:KOBQou5v0
>>718-719ですが
もしマウスを移動させないでコントロールを取得する方法があれば
お教えください<(_ _)> 流行らせるページも見たつもりですが見つけられませんでした
723名無しさん@お腹いっぱい。:2007/04/02(月) 00:00:55 ID:KbkRxtE90
>>722
WinGet, ***, ControlList,
でコントロールの一覧を取得して
ControlGetPos
でそれらの座標をチェックしたらどうかいな
724名無しさん@お腹いっぱい。:2007/04/02(月) 02:13:36 ID:EOe1GebH0
>>721
setpointより細かくカスタマイズできて良さそうだね
setpointは入れてる?
725名無しさん@お腹いっぱい。:2007/04/02(月) 02:28:19 ID:7dnhzY9F0
入れてるよ。uberoptionsも入れて
左右中除いた全部のボタンにファンクションキー(F17-F24くらい)当てて
あとはAHKでやってる。
726名無しさん@お腹いっぱい。:2007/04/02(月) 07:12:58 ID:wyqzbIFQ0
>>722
つか、なんでわざわざマウス動かすの?
xyの座標値が予めわかってるんなら、ControlGetPosで取ればいいじゃん。

デフォルトだとControlの座標はアクティブWindowからの相対座標になるから毎回変動することもないし
727名無しさん@お腹いっぱい。:2007/04/02(月) 07:29:15 ID:wyqzbIFQ0
ごめんなんか勘違いしてた。
ControlGetPosは座標でコントロールを取得じゃなくて逆のコマンドだった。

Dllcall使ったほうが早くね?↓とりあえず自スクリプト漁ったら出てきたので貼っとくわ。

;座標値のコントロールのハンドル取得
hwhd := DllCall("WindowFromPoint", Int,x, Int,y, UInt)
728名無しさん@お腹いっぱい。:2007/04/02(月) 12:24:17 ID:UaWo5KhJ0
>>726-727>>723
どうも有難うございます!
DllCallの方法でうまく行きました。凄いです
未熟者とはいえこんな方法があるとは思いもよりませんでした
729名無しさん@お腹いっぱい。:2007/04/05(木) 07:17:12 ID:LD5q48JV0
SendでShiftを押しながら入力する文字(たとえば !"#$%&'()= 等を)を入力しようとすると、
低い確率でShiftを押してないときの文字になることがあります。

入力間隔を変えたりしても直らず困っています。
同様の症状の方はおられないでしょうか?
730名無しさん@お腹いっぱい。:2007/04/05(木) 08:09:57 ID:HWaua+J80
>>729
send の代わりに sendinput を使ってみたら?
731名無しさん@お腹いっぱい。:2007/04/05(木) 08:54:32 ID:LD5q48JV0
>>730
レス有難うございます、試してみます。
732名無しさん@お腹いっぱい。:2007/04/05(木) 17:02:51 ID:WmWUxYRL0
すいません、どなたかAutoHotKeyを流行らせるページの
My Scriptsにあるタスクトレイに最小化をマウスじゃなくて
キーを使って最小化するように改造していただけないでしょうか?
733名無しさん@お腹いっぱい。:2007/04/05(木) 17:49:36 ID:JeJX4+Sn0
;133行以下を書き換える。(~MButton upラベルの所ね。)もしくは、スクリプトの最後に追加。
;Win+Spaceキーでマウスカーソルの位置に関係なくアクティブなウィンドウをトレイに入れる。

#Space up::
MinimizeToTray(WinActive("A"))
return
734名無しさん@お腹いっぱい。:2007/04/05(木) 19:49:52 ID:hfOmfCr20
おお!ありがとうございます。出来ました。
735名無しさん@お腹いっぱい。:2007/04/05(木) 20:53:46 ID:ZsHGdPmm0
("A") 悲しい顔だ
736名無しさん@お腹いっぱい。:2007/04/06(金) 09:38:50 ID:1wyEpUaT0
春なのに
737名無しさん@お腹いっぱい。:2007/04/06(金) 11:36:20 ID:lrWEbpoS0
SandS を AHK で行いたいのですが、
スペース単打→スペース
スペース+何か→Shif+何か
スペース長押し→無効
の三段階の設定にしたいです。
スペース長押し→無効の方法が分からないので、教えていただけると嬉しいです。
738名無しさん@お腹いっぱい。:2007/04/06(金) 11:49:22 ID:DNU12U7i0
SPACE::
{
KeyWait, SPACE, T1

If Errorlevel = 1
Return

こんなのは?
739名無しさん@お腹いっぱい。:2007/04/08(日) 11:14:49 ID:uyW/8RR60
>>727
hwhd1 := DllCall("WindowFromPoint", Int,x, Int,y, UInt)
のようにしてコントロールのウィンドウハンドルを取得すると、「332358」という値が返ってきて
MouseGetPos,,,,hwhd2,2
で取得すると、「0x51246」という値が返ってきます。

おそらくデータ形式が違うだけだと思うんですが、どのようにすれば同じ形式にできるんでしょうか?
740名無しさん@お腹いっぱい。:2007/04/08(日) 11:21:01 ID:kTakKkkT0
>>739
SetFormat
741名無しさん@お腹いっぱい。:2007/04/08(日) 11:48:19 ID:uyW/8RR60
>>740
おぉ・・ありがとうございます!
742名無しさん@お腹いっぱい。:2007/04/12(木) 21:57:58 ID:uqyh3Dt+0
ノートパソコンで窓使いの憂鬱からの乗換えを検討しています。
変換キーとjを押した時1を出力したい(この後kluioで234456と出力したいのですが)場合、

vk1Csc079 & j::Numpad1
でも
vk1Csc079 & vk4Asc241::Numpad1
でもできません。


こういうときはどういう記述をすればいいのでしょうか。ご指導お願います。
743713:2007/04/12(木) 22:32:41 ID:3VuvYEuXP
つsend
744742:2007/04/13(金) 04:19:02 ID:xhVgVd5a0
>>743
vk1Csc079 & vk4Asc241::send, 1
で出来ました。ありがとうございました。
745名無しさん@お腹いっぱい。:2007/04/14(土) 22:19:01 ID:ksU4budB0
たまにキーを押した後、押し下げた状態になったまま解放されなくなります。
ホットキーに設定したキーではなく、アルファベットキーやCtrlキー単体でも発生します。

何か思い当たる原因はありますでしょうか?
WinXP SP2、AHKは最新版です。
スクリプトは、
猫歩きさんのMigemoIsearchをそのまま使用と、Win+Spaceにfenirの起動を割り当てているだけです。
746名無しさん@お腹いっぱい。:2007/04/15(日) 00:41:36 ID:qh8S6vgZ0
>>745
オレもそれはある。
ただし、いろいろな設定をごちゃごちゃやってるせいだろうとあきらめている。
再現しない場合が多く、何が原因かわからない。
747名無しさん@お腹いっぱい。:2007/04/15(日) 00:53:27 ID:g8rDjDHR0
漏れの環境では
右CTRLキーでホットキーを利用すると
右CTRLの押下が残るという変な現象があった
それは右CTRLを左CTRLで置き換えることによって回避したよ

何かおかしいなあと思ったんで↓こんなので調べた

#NoTrayIcon
#SingleInstance, Force

Loop
{
GetKeyState, CTRL, CTRL
GetKeyState, RCTRL, RCTRL
GetKeyState, LCTRL, LCTRL
ToolTip, Ctrl`t%CTRL%`r`nRCtrl`t%Rctrl%`r`nLctrl`t%Lctrl%
}

+ESC::
{
ExitApp
}
748名無しさん@お腹いっぱい。:2007/04/15(日) 01:17:40 ID:KN6/qCH00
変数に改行を入れるのってどうすればいいん?
749名無しさん@お腹いっぱい。:2007/04/15(日) 01:26:16 ID:qh8S6vgZ0
>>748
つ`n
750名無しさん@お腹いっぱい。:2007/04/15(日) 01:43:58 ID:KN6/qCH00
>>749
thx.

output2 := output2 . `n
って書いてエラーがでてたんだけど、
"" で囲まないとダメなんですね。
751名無しさん@お腹いっぱい。:2007/04/15(日) 03:20:34 ID:qh8S6vgZ0
つ output2 .="`n"
752名無しさん@お腹いっぱい。:2007/04/15(日) 04:09:05 ID:KN6/qCH00
>>751
C 使ってた頃からその記法は嫌いなんだ。
753745:2007/04/15(日) 11:35:15 ID:a60LVBYL0
>>746
>>747
ありがとう。同じような現象が起きるとわかって少し安心しました。
ちょっと試してみます。
754名無しさん@お腹いっぱい。:2007/04/16(月) 15:36:14 ID:k4+cyldh0
俺はCtrlとWinが良く押しっぱなしになるので、ふだん使わないメディアキーにリロードを割り振ってる

^Launch_Media::
#Launch_Media::
^#Launch_Media::
reload
return
755名無しさん@お腹いっぱい。:2007/04/19(木) 19:37:22 ID:uiDNpW5X0
Numlock をおしたら、半角の = を入力したいのですが、AHK で可能でしょうか?
756名無しさん@お腹いっぱい。:2007/04/19(木) 19:53:12 ID:5p2yOJ7q0
>>755
可能です
757名無しさん@お腹いっぱい。:2007/04/19(木) 20:27:18 ID:bNzfyE9T0
>>755
不可能です
758名無しさん@お腹いっぱい。:2007/04/19(木) 22:13:41 ID:uiDNpW5X0
>>756
方法を教えてもらえないでしょうか。

Xp sp2 で下記のスクリプトだとうまくいきません。
なぜか-が出力されます。
  NumLock::+-

↓だと=が出力されるのに……
a::+-

759名無しさん@お腹いっぱい。:2007/04/19(木) 22:28:40 ID:uiDNpW5X0
いろいろためしたがどうしても=を入力できない。

NumLock::send,=

↑これも-になる。
760名無しさん@お腹いっぱい。:2007/04/19(木) 22:45:02 ID:DzYZP9u40
シフトキーを押せばいいんじゃないのかナー
わからないけどきっとそう
761名無しさん@お腹いっぱい。:2007/04/19(木) 22:54:38 ID:5p2yOJ7q0
あー、ごめん。
NumLock::= でふつうに出来たから
出来るものだと思ったけど
101/102英語キーボードを使ってるせいかもしれん
762名無しさん@お腹いっぱい。:2007/04/19(木) 22:58:24 ID:ek0A82nK0
>>761
日本語キーボードでも普通に出来たよ
763名無しさん@お腹いっぱい。:2007/04/19(木) 23:08:42 ID:11BfINhg0
Numlock::Send, {SHIFTDOWN}-{SHIFTUP}

手堅くいこうぜ
764名無しさん@お腹いっぱい。:2007/04/20(金) 01:20:55 ID:fTbPp8V/0
= でキター(゚∀゚)ーー

キー設定変更ソフトでnumlockいじってたから、AHKの変更が作用してなかった。
レジストリいじるタイプのキー設定変更ソフトなので再起動しないと、いけなかった。

日本語キーボード、XP sp2で、下記の二つともnumlockで=の入力できた。

Numlock::Send, {SHIFTDOWN}-{SHIFTUP}
NumLock::=

numlockを=に変更するのマジでおすすめ。
765名無しさん@お腹いっぱい。:2007/04/20(金) 11:57:51 ID:abWQLIRx0
ダイヤモンドカーソルみたいに、C-iで上という風にしています。

Menuコマンドでメニューを表示中はこのリマップが効かないのですが、
解決する方法ってあるでしょうか。
766名無しさん@お腹いっぱい。:2007/04/20(金) 18:31:36 ID:JTPbtSyV0
2つAHKを常駐させる以外にない
767名無しさん@お腹いっぱい。:2007/04/20(金) 21:23:40 ID:1A5vVu/20
フォルダのサイズを取得するにはどうすればいいでしょうか?
FileGetSizeでは取得できませんでした。
768名無しさん@お腹いっぱい。:2007/04/20(金) 21:32:14 ID:4DcgZIO20
Loopして合計すればいいのでは?
769767:2007/04/20(金) 21:42:43 ID:1A5vVu/20
>>768
できました!ありがとうございます!
770名無しさん@お腹いっぱい。:2007/04/22(日) 12:54:13 ID:o64XNyNL0
x++
test%x% = %aaa%%bbb%

という処理を不特定回数繰り返してtest1〜testnの内容を一気に表示したいのですがどうすればいいのでしょうか。
771名無しさん@お腹いっぱい。:2007/04/22(日) 13:39:16 ID:DCLn06aF0
聞きたいのは表示部分のコード内容ってことでおk?
不特定回数の繰り返しは回転条件がわからんことには答えようがない

;test1〜testnの内容を一気に表示
dsp := ""
Loop %x%
{
dsp .= "test" . A_Index . "=" . test%A_Index% . "`n"
}
msgbox,%dsp%
772名無しさん@お腹いっぱい。:2007/04/22(日) 19:58:13 ID:o64XNyNL0
>>771
ありがとうございました!助かりました!
773名無しさん@お腹いっぱい。:2007/04/23(月) 17:30:57 ID:FPbE4/Y/0
教えてgoo 、2chスレッド検索、AMAZON などを fenrir から検索すると
文字化けしてしまいます。

スレ内に出ていたueはリンク切れで見れません。

http://oshiete.goo.ne.jp/certify.html?return_url=http://oshiete.goo.ne.jp/
http://find.2ch.net/?BBS=ALL&PARTNER=FENRIR&TYPE=TITLE&COUNT=50&STR=
http://www.amazon.co.jp/
774名無しさん@お腹いっぱい。:2007/04/23(月) 18:59:26 ID:ulvm39qR0
>>773
Firefoxとかはueのような物を使わないと無理っぽい。
IE系ブラウザなら普通にできた気がするけど。
775名無しさん@お腹いっぱい。:2007/04/23(月) 19:14:41 ID:hmcmQ1mb0
なんでAHKスレで?
776名無しさん@お腹いっぱい。:2007/04/23(月) 20:58:58 ID:FPbE4/Y/0
>>775
複数ソフト(2chブラウザ、メールソフト、エディタ…)で共通の操作で、
効率的で柔軟な検索をするためです。

本来の使い方ではないのかもしれませんが、私はPC外のソースへのアクセスにfenrir
のインスタントコマンドを良く使ってます。(結果はブラウザで表示)
777名無しさん@お腹いっぱい。:2007/04/23(月) 21:57:43 ID:hmcmQ1mb0
UEなら
ttp://craft.office.vg/index.php?%A5%A2%A5%c3%A5%D7%A5%ED%A1%BC%A5%c0%A1%BC
ここに今もあると思うけど?
クリップボードにエンコード文字列だけを返すソフトも入ってるよ
778名無しさん@お腹いっぱい。:2007/04/23(月) 22:38:39 ID:v/sBpXDi0
ActiveXでJavaScriptのスクリプトコンポーネントを呼び出してエスケープさせたら?
779名無しさん@お腹いっぱい。:2007/04/24(火) 01:04:46 ID:QkkWSPri0
>>775
誤爆でした。すいません。
fenrirスレとおもってました。
780名無しさん@お腹いっぱい。:2007/04/24(火) 01:10:49 ID:HYBXI9Bu0
wwww
781名無しさん@お腹いっぱい。:2007/04/24(火) 06:52:00 ID:2xoECN9+P
fenrirスレ向きの話題だよな
782名無しさん@お腹いっぱい。:2007/04/26(木) 17:49:40 ID:4Ex/AVQ30
Windowsの仕様くさいですがTrayTipの文字数制限を解除する方法はありませんか?
783名無しさん@お腹いっぱい。:2007/04/28(土) 19:13:56 ID:t0D9iHmm0
フルスクリーンのゲームのウィンドウクラス調べる方法ってないですか?
784名無しさん@お腹いっぱい。:2007/04/28(土) 20:06:18 ID:mbZg9AZP0
単純だけど、アクティブウィンドウのクラスの取得をloopで回して
ファイルに追記していくのを常駐させればいいんじゃね

それか、ttp://www.autohotkey.net/~Titan/infospy.html
みたいなのを起動させれば意識的に取得できるけど
785名無しさん@お腹いっぱい。:2007/04/28(土) 20:11:29 ID:1o7BW3el0
ホットキーでwingetclassとか呼び出して
くリボに入れればいいんでは
786名無しさん@お腹いっぱい。:2007/04/28(土) 20:32:52 ID:aWdxnRbv0
>>783
Spy++ とか使えば?
787名無しさん@お腹いっぱい。:2007/04/29(日) 18:33:12 ID:kygwrzAd0
タスクバーのウィンドウを格納してある領域でホイールをまわすと、
アクティブウィンドウがタスクバーの並び順に変更していくしていくスクリプトを書こうとしたけど
断念・・・orz

WinGetでは実現不可能だしな・・・。
788名無しさん@お腹いっぱい。:2007/04/29(日) 19:15:48 ID:8zGfbZn90
おっ酢!尾ら初心者

このそふといえれたけとさっぱりつかいからわからね
ちなみにこの分はぶらいんとたっちであyってるぜ
だれかおpこそじゅとのつかいかたをぁmたんなのものをたおむね
789名無しさん@お腹いっぱい。:2007/04/29(日) 19:25:31 ID:manImCwH0
>>787
ちょいと面倒だが、
WIngetを常時ループしといて
新規ウィンドウが現れたらそれをケツニ追加するように
変数組んで
その順番で切り替えていくとか
790名無しさん@お腹いっぱい。:2007/04/29(日) 19:46:26 ID:dwNgZUCQ0
>>788
ネタにしてはつまらないからスルー。
マジにしてはふざけていて不愉快だからスルー。
791名無しさん@お腹いっぱい。:2007/04/29(日) 19:52:20 ID:vCQRAw5o0
スルーの意味を知らないやつがいるな
792名無しさん@お腹いっぱい。:2007/04/29(日) 19:53:08 ID:vCQRAw5o0
>>787
alt+tabじゃだめなん?
793名無しさん@お腹いっぱい。:2007/04/29(日) 19:54:01 ID:dwNgZUCQ0
俺は不言実行の男だぜ?(笑)
794名無しさん@お腹いっぱい。:2007/04/29(日) 20:14:29 ID:4vP4duHh0
いまどきブラインドタッチ何て言ってるのは黎明期から進歩してないジジィだけだろ
795名無しさん@お腹いっぱい。:2007/04/29(日) 20:49:59 ID:cg7rhhZN0
はいスルー。
796名無しさん@お腹いっぱい。:2007/04/29(日) 22:42:15 ID:0wc2efZW0
>>792
どっちかっていうとALT+ESC
797名無しさん@お腹いっぱい。:2007/05/01(火) 05:16:24 ID:7wioGRyX0
Alt押しっぱなしでTAB2回がいいんじゃない?
798名無しさん@お腹いっぱい。:2007/05/01(火) 11:26:28 ID:DYRezbAf0
それでもタスクバーに並んだ順番にはならないよね
799名無しさん@お腹いっぱい。:2007/05/01(火) 12:20:01 ID:dbpOfQXm0
797は話を理解できてないんだろうね
ただの煽りなのかな
800名無しさん@お腹いっぱい。:2007/05/08(火) 19:06:02 ID:8pU85aDM0
スレッドAをループさせています

スレッドBを開始させた時に、スレッドAのループを停止させたい

どうしたらいいですか?
801名無しさん@お腹いっぱい。:2007/05/09(水) 09:17:13 ID:4t08kK8B0
Loop,
{
if Loop_teisi = 1
Break
Else
{
(させたい処理)
}
}
Return

スレッドBを始めるときに変数Loop_teisiに1を入れれば止まると思うが
802名無しさん@お腹いっぱい。:2007/05/09(水) 09:18:20 ID:4t08kK8B0
なんか違うか
もっと具体的な情報がそろわないと分からんな
803名無しさん@お腹いっぱい。:2007/05/09(水) 09:23:38 ID:4t08kK8B0
改めて
こんな感じ?

スレッドBをはじめる時にLoop_teisiを1にすると
このルーチンは作動しないんだが

Loop_shori: ;ループするサブルーチン
 if Loop_teisi = 1 ;ループ禁止の変数がON(1)なら
  Return
 Else if Loop_teisi = 0 ;ループ禁止の変数がOff(0)なら
 Loop,
 {
  (させたい処理)
 }
 Return
804名無しさん@お腹いっぱい。:2007/05/10(木) 00:47:25 ID:eXakzVsn0
スレッドっつーとSetTimerで周期的に回してるんか? それともLoop文でずっと張りついてるんか?
まさかとは思うが、AとBは別のスクリプトでそれぞれ独立して常駐してるってことじゃないよな?

どうにも漠然としててよくわからんので、まずはソース貼ってみたらどうか。
805名無しさん@お腹いっぱい。:2007/05/16(水) 17:58:05 ID:OICbv1240
WinAPIの GetWindow や GetNextWindow のようなことをしたいのですが、
(あるコントロールの一つ前(GW_HWNDPREV)のコントロール名かハンドルが知りたい)
AHKではどう書けるでしょうか。
806名無しさん@お腹いっぱい。:2007/05/17(木) 21:51:41 ID:1RiKHdVr0
>WinAPIの
DllCall で WinAPI 呼んでやればいいんじゃね?
807名無しさん@お腹いっぱい。:2007/05/17(木) 23:31:49 ID:itpy2maN0
>>806
hnd2 := DllCall("GetWindow", UInt, hnd1, UInt, 3, UInt)
みたいな感じでできました。ありがとうございます。

また質問なんですけど、
F1::
F2::
ほにゃらら
return

みたいな書き方をして、「ほにゃらら」の部分で F1とF2のどちらが押されたかを
判断する方法ってありますでしょうか。
808名無しさん@お腹いっぱい。:2007/05/17(木) 23:36:13 ID:ZmCHuOVe0
A_ThisHotkey
はどうだろ?
809名無しさん@お腹いっぱい。:2007/05/17(木) 23:42:13 ID:itpy2maN0
>>808
おおおお、確認しました。
なんか関数があるかと思ってそっち方面ばっかり探してました。
どうもありがとう!
810名無しさん@お腹いっぱい。:2007/05/20(日) 11:22:38 ID:NWLzIHwO0
キーボードと違ってマウスを押しっぱなしでも、>>91にある通りキーリピートによる繰り返し入力が使えないんだけど
upとdownが交互に切り替わる状態を作って、マウスクリックでも擬似的に連打を再現できませんか?

マウスの拡張ボタンに左右クリックを割り当てています
XButton1:: LButton
XButton2:: RButton
キーに割り当てりゃいいじゃんとか野暮なことは言わないでorz
811名無しさん@お腹いっぱい。:2007/05/20(日) 13:34:39 ID:EB0FNTVM0
>upとdownが交互に切り替わる状態を
MouseClick もしくは Click、Sendでも Up/Down指定できたと思う

>キーリピートによる繰り返し入力
XButton1:: と XButton1 UP:: で処理分けて Loopで回すかSetTimer使え
リピート間隔は自分で適当に決めればいい
812名無しさん@お腹いっぱい。:2007/05/20(日) 18:47:58 ID:avpYEJpm0
何て言うのかわかりませんが、画面の右下に常時起動してるソフトのアイコンが並んでいるところがあるじゃないですか。
たしかなんとかトレイ、っていったような。
あそこで、右クリックしたときに表示されるメニューを出すにはどうすればいいんでしょうか?
813名無しさん@お腹いっぱい。:2007/05/20(日) 18:55:59 ID:HrlDsVgw0
>>812
流行らせるページ↓のタスクトレイアイコン操作(TaskTrayIcon.zip)を参考にどぞ。
ttp://lukewarm.s101.xrea.com/myscripts/index.html
814名無しさん@お腹いっぱい。:2007/05/20(日) 18:59:28 ID:aGyQLTBp0
いやAHK自身のことを言っているんじゃないか?
だとしたらMenuでおkだけど。
それともタスクバーのメニューなのか?
815名無しさん@お腹いっぱい。:2007/05/20(日) 20:16:32 ID:cyh27ZDC0
>>787
Win+Tab→Enter
みたいなのはダメポ?
そんな簡単な話じゃない?
816名無しさん@お腹いっぱい。:2007/05/20(日) 21:18:19 ID:avpYEJpm0
>>813
わからんちんのとっちめちん・・・
下の Tray_GetInfo(A_Index,hwnd,uid,msg)のhwndとuidって指定しないと逝けないんですよね?
どれのhwndとuidを取得すればいいの?
ーーーーー

#NoTrayIcon
name=AutoHotkey.exe
action=0x203

cnt:=Tray_GetCount()
DetectHiddenWindows,On
Loop,%cnt%{
Tray_GetInfo(A_Index,hwnd,uid,msg)
WinGet,pn,ProcessName,ahk_id %hwnd%
if(pn=name){
PostMessage,%msg%,%uid%,%action%,,ahk_id %hwnd%
}
}
DetectHiddenWindows,Off
817名無しさん@お腹いっぱい。:2007/05/26(土) 23:51:15 ID:jthhhpnR0
Ctrl+無変換+JでSend,{Left}
とかってできんの?
818名無しさん@お腹いっぱい。:2007/05/26(土) 23:56:16 ID:t2b4gbr40
>>817
GetKeyStateとか使えばできるっしょ。
個人的な感想を言えば、無変換+J=Left、Ctrl+無変換+J=Ctrl+Leftの方が使いやすそうだけど。
819名無しさん@お腹いっぱい。:2007/05/30(水) 20:47:19 ID:cyc+Zxfs0
環境は、WinXP-Pro SP2、Autohotkey1,46,05です。
で、以下を実現したいと思っています。
--------------------------------------------------------------
ファイルを1つ選択し、AHKでなんらかのショートカットキーを押すと、
ファイル名のうち、「hogehoge.txt」や「hogehoge.html」の「hogehoge」の部分だけが選択される。
(前提:フォルダオプションですべての拡張子を表示させている)
--------------------------------------------------------------

こういったことは可能でしょうか?

以前にどこかで見かけた気がするのですが・・・

以上、よろしくお願い申し上げます。
820名無しさん@お腹いっぱい。:2007/05/30(水) 20:53:02 ID:iMHHpLo/0
お忍びリネームとかでええやん?
821名無しさん@お腹いっぱい。:2007/05/30(水) 22:27:02 ID:KlqboRyRP
自作。うざかったらゴメン。
~F2::
ifWinNotActive ahk_class CabinetWClass
ifWinNotActive ahk_class Progman
Return
OldClip=%ClipboardAll%
Send, ^c
Sleep, 100
splitpath, Clipboard, , , Extension
Clipboard=%OldClip%
StringLen, n, Extension
if (n==0)
Return
n:=n+1
Send, +{left %n%}
Return
822名無しさん@お腹いっぱい。:2007/05/30(水) 22:31:00 ID:iMHHpLo/0
かなり力技やねw
既存のソフトも似たような理屈なのかな?
823名無しさん@お腹いっぱい。:2007/06/03(日) 00:35:44 ID:cIIC+MVR0
タスクトレイアイコンを既存の緑色のHのものから変えたいんですけどどうやればいいですか?
test.ahkを走らせるときにautohotkey.iniのアイコンと同じだと区別がつかないので変更したいんです。
824名無しさん@お腹いっぱい。:2007/06/03(日) 00:51:31 ID:F1tB8tYJ0
>>823
流行らせるページ→リファレンス→Menu
825名無しさん@お腹いっぱい。:2007/06/03(日) 15:51:54 ID:cIIC+MVR0
>>823
的確なレスありがとうございました。
Menuの中でいじれたんですね。
826名無しさん@お腹いっぱい。:2007/06/03(日) 17:47:23 ID:55qOdXiS0
Numpad1::Shift

とシンプルなスクリプトで申し訳ないのですがどうも想定した動作をしてくれません
1秒ほど押すとなぜかShiftがロックされてしまいます
なにかいい回避方法などありますでしょうか?
827名無しさん@お腹いっぱい。:2007/06/03(日) 18:19:18 ID:7hl2SiVY0
それぞれにup downを組み合わせるとか
828名無しさん@お腹いっぱい。:2007/06/03(日) 18:56:40 ID:55qOdXiS0
>>827
Numpad1::Send,{Shift Down}
Numpad1 Up::
Send,{Shift Up}
Return

こんな感じのも試してみましたがダメでした

テンキー以外をリマップさせたときは>>826でもちゃんと動いていて
ロックされてしまうのはテンキーだけみたいです
ハード的もしくはソフト的にダメなのかな orz
829名無しさん@お腹いっぱい。:2007/06/03(日) 20:27:40 ID:55qOdXiS0
Numpad1::SendPlay,{Shift Down}
Numpad1 Up::
SendPlay,{Shift Up}
Return

なんとかこれで不完全ながら一応望む挙動になりました
スレ汚しスマン
830名無しさん@お腹いっぱい。:2007/06/03(日) 21:09:27 ID:xohiJvgX0
>>829
あれ?上手く行きました?
うちの環境だと>>826でも>>829でもダメでした

PS2→USB変換器を使ってるのがいけないのかなぁ…
831名無しさん@お腹いっぱい。:2007/06/04(月) 00:02:21 ID:vQu/TyQv0
うちも昔、テンキーに割り当てたときに同じような症状が出て困った
832名無しさん@お腹いっぱい。:2007/06/04(月) 11:52:54 ID:Ktl+v0yR0
>>830
うちは大丈夫みたい
USBの外付けテンキーだけど
833名無しさん@お腹いっぱい。:2007/06/05(火) 04:15:38 ID:5BloAhfk0
「変換」キー+「i」の入力で「カーソル上」を押したことにするのってこれであってる?

vk1Csc079i::Up

なんかうまく動かないんだよね…。
Vistaマシン買ったはいいものの窓使いの憂鬱が動かなくて困ってます。
834名無しさん@お腹いっぱい。:2007/06/05(火) 04:26:41 ID:EUB+3A/50
vk1Csc079 & I::Send,{Up}
835833:2007/06/05(火) 09:16:37 ID:5BloAhfk0
>>844
おおー!
ありがとう!動きました!
やっとまともに触れる…。

あ、でもこれShiftやCtrlとの同時押しは別途定義しないといけないのか。
よーし。がんばるお!(`・ω・´)
836名無しさん@お腹いっぱい。:2007/06/05(火) 11:25:08 ID:lsqpY99v0
>>835
sc079 & I:: Send, {Blind}{Up}
とにかく流行らせるページのリファレンスを読む&過去スレ検索の徹底よろ
83723:2007/06/05(火) 12:49:59 ID:5BloAhfk0
おお!!できた!!!
ありがとう!!
これでやっと普通にVistaが使えます。
AutoHotKey、今までよくわかんなくてスルーしてたけど、
いろいろ何でもできそうなことを知ったのでちょっと使ってみます。
ありがとう!
838名無しさん@お腹いっぱい。:2007/06/05(火) 16:29:15 ID:xBzy+PFG0
スクリプトを
すでに実行していればReloadさせて
実行していなければRun, mg.ahkで実行するようには どう書けばいいのでしょうか?
839名無しさん@お腹いっぱい。:2007/06/05(火) 16:39:11 ID:F30Bx5XY0
される側のスクリプトに
#SingleInstance force
でもおいといたら
840名無しさん@お腹いっぱい。:2007/06/05(火) 16:47:49 ID:xBzy+PFG0
>>839
ありがとう!こんなのもあったんですか。凄いっす
841名無しさん@お腹いっぱい。:2007/06/06(水) 06:48:27 ID:MPbvPcxH0
引数の連結は出来たんだけど、変数に引数を入れるときに
""が勝手に外れちゃうのはどうにかなる?

"-opt:hoge hoge"みたく外側の""は後から付加してやれば良いけど
-opt:"hoge hoge"みたいなときに-opt:hoge hogeになっちゃって…。

どうしようもなくて-opt:\"hoge hoge\"みたく\"でエスケープして
渡すようにしたけど、これだとどうも融通が効かないというか。
842名無しさん@お腹いっぱい。:2007/06/06(水) 06:50:26 ID:MPbvPcxH0
>841の4行目訂正すまそ。

>-opt:"hoge hoge"みたいなときに-opt:hoge hogeになっちゃって…。

-opt:"hoge hoge"みたいなときにも"-opt:hoge hoge"になっちゃって…。
843名無しさん@お腹いっぱい。:2007/06/06(水) 07:27:49 ID:is/CnbvC0
#IfWinActive で、先頭に半角スペースのあるウィンドウタイトルは、どうやって指定したらいいでしょうか?
844名無しさん@お腹いっぱい。:2007/06/06(水) 08:22:59 ID:canI3osI0
>>843
前方一致で
#IfWinActive, %A_Space%
かな。試してないけど

>>841
もしLoopでやってるなら
まず半角スペースがあるかどうか調べて
あれば"で囲んで連結するとか
845843:2007/06/08(金) 07:02:44 ID:1NUphug40
>>844
教えていただいたようにしてみると、%をエスケープしろとエラーが
出たのでエスケープしたのですが、それでもうまくいきませんでした。
ahk_class など他の方法でなんとかしてみます。
どうもありがとうございました。
846名無しさん@お腹いっぱい。:2007/06/08(金) 08:47:17 ID:i4YH9yZZ0
「' 」
847名無しさん@お腹いっぱい。:2007/06/08(金) 18:01:10 ID:+wNDnIAG0
Explorerに対してAlt+D, Ctrl+Cして
カレントディレクトリのパスを取得して
メニューを表示して各種コマンドを起動するなんて
サンプルソースないですかね。
cmd.c /k cd /d "%cd%"とか
contextmenu.exe "%cd%"とかその他いろいろしたいんですが。
848でけた:2007/06/08(金) 18:32:26 ID:+wNDnIAG0
menu_contextmenu:
    MouseMove,4,4
    MouseClick,Right
    return   

menu_commandprompt:
    run,%comspec% /k cd /d "%clipboard%"
    return

menu_show:   
    Send,!D^C
    menu, explorermenu, add,コンテキストメニュー(&C), menu_contextmenu
    menu, explorermenu, add,コマンドプロンプト(&P), menu_commandprompt
    menu, explorermenu, show
    return
   
#IfWinActive, ahk_class CabinetWClass
F9:: Gosub,menu_show
#IfWinActive, ahk_class ExploreWClass
F9:: Gosub,menu_show
849名無しさん@お腹いっぱい。:2007/06/08(金) 19:09:38 ID:/621cIsC0
>>847-848
Alt+D Ctrl+C以外にもControlGetTextとかWinGetTitleという手も
あと、メニューを表示している間は同じスクリプトファイル内のホットキーとかが効かなくなるから
場合によっては常駐スクリプトとは別のファイルにした方が良い場面もあるかも知れない
850名無しさん@お腹いっぱい。:2007/06/08(金) 19:31:02 ID:SxXmnQr90
いろいろコマンドは覚えたが
したいことが思いつかなくなったので
最近スクリプトがかけない
851名無しさん@お腹いっぱい。:2007/06/08(金) 19:53:36 ID:AvcwMm3V0
代えのきかない糞ツールを使って何とか生産性上げなきゃならん身としては
これがないと腕が腐るし目が氏ぬし飢える。もはや無いと生きられんw
852でけた:2007/06/08(金) 20:18:01 ID:+wNDnIAG0
>ControlGetTextとかWinGetTitleという手も
なるほど。もう一個作ってミ田
; アドレスバーに短縮アドレスを入力して^Gで移動する
go:
    Send,{^Del} ; カーソルより右を削除。home|C:\Windowsとかでも展開させるため
    ControlGetText, alias, Edit1
    iniread,alias,explorer.ini,alias,%alias%,?NOTFOUND?
    if(alias="?NOTFOUND?"){
        Send,{ESC}
        return
    }
    ControlSetText, Edit1, %alias%
    Send,{Enter}{Tab}
    return

#IfWinActive, ahk_class CabinetWClass
^G:: Gosub,go
#IfWinActive, ahk_class ExploreWClass
^G:: Gosub,go

explorer.ini
[alias]
home=c:\home
win=c:\windows
sys32=c:\windows\system32
bin=c:\home\bin
prog=c:\program files
ahk=c:\home\bin\autohotkey
853名無しさん@お腹いっぱい。:2007/06/10(日) 16:33:16 ID:Pu/tBeSH0
クリップボード内などのシフトJIS文字列をUTF-8やEUC-JPに変換するスクリプトって
現存します?
ちょっとした.dll書いたんだけどそういうスクリプトあったらあんま意味ないかなと思って。
854名無しさん@お腹いっぱい。:2007/06/10(日) 17:32:44 ID:nk+agplw0
簡単にコンピューターのロックしたいのですけど
思うように行かないので・・・おねがいします。
マウスの中央のボタンが押されたらログイン画面にもどるようにしたい

いまのところ
マウスにScrollLockを割り付けて
AutoHotKeyでScrollLockがおされたらWIN+Lがおされるようにしてるのですが
ログイン画面に戻ってログインしなおしたときにWINキーが残ったような動作をします。

ScrollLock::#l
855名無しさん@お腹いっぱい。:2007/06/10(日) 17:41:05 ID:EH8VD5vf0
BlockInputじゃダメ?
856名無しさん@お腹いっぱい。:2007/06/10(日) 17:56:05 ID:K/nHh1IX0
>>853
perlとかの既存の外部スクリプトと連携できたりしたら
いろいろ可能性が広がりそうだね。
857名無しさん@お腹いっぱい。:2007/06/10(日) 18:04:58 ID:oyhKdQSK0
>>854
shutdown /?
858名無しさん@お腹いっぱい。:2007/06/10(日) 18:31:11 ID:nk+agplw0
画面を隠したいとこもあるので><

ttp://tooljp.com/qa/7B6BE207F9972EC449256A58003A1FFB.html
またはこれをキーにわりつけられませんか?
859名無しさん@お腹いっぱい。:2007/06/10(日) 18:51:17 ID:6yKJpRdb0

好きなキーに割り当てればいいじゃん
860名無しさん@お腹いっぱい。:2007/06/10(日) 19:04:08 ID:IC00iz1r0
Lock系のキーはahkでは鬼門
状況はよくわからんが、まずは他のキーに割り当てて正常動作するか試してみたら?
>>858
これもよくわからんがショートカットを作ってそれをクリックするような動作を想定してるのかな
runコマンドで直接叩けばOKだと思うけど
861名無しさん@お腹いっぱい。:2007/06/10(日) 19:10:42 ID:IC00iz1r0
内容が「コンピュータのロック」では混同されそうだな、もいちど補足

>Lock系のキーはahkでは鬼門
#l に問題があるのではなく、ScrollLockへの割り当てが引っかかってるんじゃないかってこと
とりあえずファンクションとか#aとか別のキーでの割り当てで試してみるといいよ
862名無しさん@お腹いっぱい。:2007/06/10(日) 20:01:04 ID:bHqDIdR90
レスありがとうございます。
ファンクションでの割り当てをしてみたのですが、やはりだめでした。
ranの方はいろいろ試してみます。
863名無しさん@お腹いっぱい。:2007/06/10(日) 20:18:36 ID:bHqDIdR90
ranじゃなくてrunだ・・・OTL
864名無しさん@お腹いっぱい。:2007/06/10(日) 20:32:44 ID:bHqDIdR90
runの方はスマートではありませんができました。
%windir%\System32\rundll32.exe user32.dll,LockWorkStation
をバッチファイルの中に書いて
autohotkeyの方でそのバッチファイルを起動させるようにしました。
865名無しさん@お腹いっぱい。:2007/06/11(月) 08:39:11 ID:8opZ9qno0
>>853のプラグイン、公開したんですが宣伝しても良いでしょうか?
866名無しさん@お腹いっぱい。:2007/06/11(月) 09:27:37 ID:TgIo9cl40
クリップボードの中身を
・2chエンコード(タブ、スペースを に変換)
・Pukiwikiエンコード(頭にスペースを挿入)
・Googleで検索
・アルファベットのみなら英和で検索、漢字交じりなら和英、国語で検索
するプラグインキボンヌ
867名無しさん@お腹いっぱい。:2007/06/11(月) 09:34:44 ID:8opZ9qno0
>>866
ちょっと違うけど作ったのはこんなんです。これに合わせてスクリプト組めばなんとかなるかと。
http://kaede.to/~canada/doc/searchit-for-ahk
868名無しさん@お腹いっぱい。:2007/06/11(月) 09:36:56 ID:8opZ9qno0
追伸
2chとPukiwikiはちょっと意味が分からなかったんだけど、
GoogleはShift+Ctrl+G、辞書はShift+Ctrl+Dでいけます。
869名無しさん@お腹いっぱい。:2007/06/11(月) 12:30:25 ID:cBq7tq0e0
UEと何が違うん?
870名無しさん@お腹いっぱい。:2007/06/11(月) 13:31:43 ID:8opZ9qno0
>>869
ue.exeの存在を知らなかったです。>>777は参照できないし。

設定ファイルがいらないからDllCallだけで呼び出せる点は違うかな。
エンコード関連の関数もDllCallで呼び出せるようにしてみる。
871名無しさん@お腹いっぱい。:2007/06/11(月) 13:42:03 ID:cBq7tq0e0
ttp://craft.office.vg/index.php?plugin=attach&pcmd=list&refer=%E3%82%A2%E3%83%83%E3%83%97%E3%83%AD%E3%83%BC%E3%83%80%E3%83%BC
こっちでいいかな?
UEは.URLファイル経由で開く仕様だからその辺が時々面倒くさかったりして
DLLCALLはいまいち理解出来てないんだけどいろいろ試してみるお
とりあえず乙
872名無しさん@お腹いっぱい。:2007/06/12(火) 02:44:04 ID:Iyih1pcy0
ヘビー DllCall() ユーザー向けにヘルパースクリプトを作成してみました。
定数定義、DllCall() のラッパ関数、構造体操作ラッパ関数の作成補助です。
C++ コンパイラと Win32 SDK というかヘッダファイルが必要になる、と、ちょっと敷居が高いですが、
良かったら利用してみてください。

ttp://yak.myhome.cx/junks/index.html#ahk.win32help
873名無しさん@お腹いっぱい。:2007/06/13(水) 17:09:10 ID:YI7GMsa80
Excelで Ctrl-TABするとブックを切り替えられますが、
あんな感じで、同一ウインドウクラスとかで
次々とウインドウを切り替えるようなものってありませんか?
874名無しさん@お腹いっぱい。:2007/06/13(水) 18:01:00 ID:Maa5CrMu0
>>873
WinGet, Var, list使ったらいいんじゃない?
俺も勉強中だから、勉強ついでに書いてみようか?
外食するからそのあとになるけど
875名無しさん@お腹いっぱい。:2007/06/13(水) 18:03:57 ID:Maa5CrMu0
ごめん。遠回りなこと考えてた俺
ウィンドウグループ使ったほうがはやいみたいだ
876名無しさん@お腹いっぱい。:2007/06/13(水) 18:40:06 ID:B2rTCxDs0
ウインドウグループ!そういうのもあるのか。
877名無しさん@お腹いっぱい。:2007/06/13(水) 18:49:15 ID:YI7GMsa80
>>875
どうもありがとうございます。

なるほど、GroupActivateを使うとできました。
アプリケーションの数だけGroupActivateを書かないといけないのが面倒ですが、
とりあえずやりたいと思ってたアプリケーションでは無事動作したので満足です。
878名無しさん@お腹いっぱい。:2007/06/13(水) 20:52:35 ID:Maa5CrMu0
帰ってきた
あああああ・・・
ほんとごめん、ゴメン。。。
単純にWinActivateBottomでやるのと同じで・・・余計な手間みたいな・・・
ゴメン
879名無しさん@お腹いっぱい。:2007/06/13(水) 21:08:18 ID:YI7GMsa80
>>878
#IfWinActive ahk_group G_APPWINSW
^Tab::
WinGetClass,class,A
WinActivateBottom,ahk_class %class%
return

これでグループにアプリケーション追加するだけで済みますた。
どうもありがとうございます。
880名無しさん@お腹いっぱい。:2007/06/13(水) 21:42:00 ID:Maa5CrMu0
>>879
素人が口出ししてすまんかった・・・・
お詫びに書いてみた・・・
http://www-2ch.net:8080/up/download/1181738435977812.A1YDUv
881名無しさん@お腹いっぱい。:2007/06/14(木) 14:13:09 ID:mBbunXIv0
ツールチップを消すのに
Esc::
ToolTip
Send %A_ThisHotkey%
return

て書いたら、アプリケーションに 'Esc' という3文字が送られちゃうんですが
そんなもんですか…。 {Esc}:: とは書けないしなぁ。
882名無しさん@お腹いっぱい。:2007/06/14(木) 14:21:31 ID:9lZyGeYH0
Send, {%A_ThisHotkey%}
883名無しさん@お腹いっぱい。:2007/06/14(木) 17:14:06 ID:mBbunXIv0
書き方としてはこれですな。ああすごくスッキリした。
お騒がせしました。
~Esc::
ToolTip
return
884名無しさん@お腹いっぱい。:2007/06/18(月) 01:47:19 ID:eBzdZrOL0
パーセントエンコーディングされた文字列(%83%65%83%58みたいな)を含むテキストファイルを
FileReadで読み込もうとすると、%で囲まれた部分を変数として展開してから渡してしまう様子。
当然そんな変数(上の例なら%83%とか)は無いので、null文字になる。
結果↓のように代入して扱おうとすると、null文字以降にアクセスできず、使えない…
FileRead, foo, bar.txt

#DerefCharで変数名を囲む文字を変更しても駄目。
リファレンスを見ると、FileReadの項目に、
>変数の内容文字列としてアクセスできるのは最初のnull文字以前の部分だけだが、
>DllCallなどを使用することで全ての内容にアクセスすることができる。
とあるけど、StringReplaceやFileAppend等に応用する方法がさっぱり分からないっす。

変数にnull文字を含まなくさせる方法等の解決策プリーズ!
885名無しさん@お腹いっぱい。:2007/06/18(月) 02:59:11 ID:isQG3ejw0
>パーセントエンコーディングされた文字列(%83%65%83%58みたいな)を含むテキストファイル
ファイルパスにそれが含まれていて、それをFileRead等で操作したいってこと?
なら、ttp://www.autohotkey.com/forum/post-39593.html#39593を使えばできると思うけど
886884:2007/06/18(月) 03:32:56 ID:eBzdZrOL0
>>885
いや、パスではなくファイルの中身です。
んで今試してみたところ、どうやらFileReadというより、URLDownloadToFileが原因のようでした。
申し訳ない。

例えば、↓のようなスクリプトで試すと、in.txtの本来パーセントエンコーディングされた文字がある場所が
null文字になり、その後の処理がおかしくなります。

URLDownloadToFile, http://dictionary.goo.ne.jp/search.php?MT=試験&kind=jn&mode=0&kwassist=0, C:\Test\in.txt
FileRead, temp, C:\Test\in.txt
FileAppend, %temp%, C:\Test\out.txt
887名無しさん@お腹いっぱい。:2007/06/18(月) 04:04:25 ID:/C8ZDVVS0
単にGooのエンコードがShift-JIsじゃないことが問題だと思うんだけど
888879:2007/06/20(水) 08:58:59 ID:picXYm+T0
同一アプリのウィンドウ切り替え(>>879)ができるようになって
重宝してるんですけど、切り替えたときにタスクバーが
オレンジになることがあって気になります。
XPの仕様なんだろうとは思うんですが、
きちんと最前面に出てきてくれているのでオレンジに
ならなくていいんですけどね…。

なんか解消する方法とかありますか?
889名無しさん@お腹いっぱい。:2007/06/20(水) 10:57:21 ID:etvdNUhO0
オレンジ?
890名無しさん@お腹いっぱい。:2007/06/20(水) 11:04:38 ID:URrLq6pF0
タクスバーのアイコンがオレンジに点滅する
更新があった通知だけで、ウィンドウは切り替わらない
891名無しさん@お腹いっぱい。:2007/06/20(水) 22:41:32 ID:BPi03lYB0
>>888
ダサイやり方でスマン…
#IfWinActive ahk_group G_APPWINSW
^Tab::
WinGetClass,class,A
WinActivateBottom,ahk_class %class%
Send, {Ctrl}
return
892名無しさん@お腹いっぱい。:2007/06/20(水) 22:56:23 ID:tDst67vg0
それってTweakXP(だっけ?)で抑制できなかったけ?
抑制しても元に戻ったりして苦戦した憶えがあるが…。
893名無しさん@お腹いっぱい。:2007/06/20(水) 23:00:02 ID:tDst67vg0
TweakUIか。
894884:2007/06/21(木) 14:19:57 ID:rb4bENUj0
>>885-887
紆余曲折の結果、>>885の紹介先にあった関数で文字列をエンコードしてから
URLDownloadToFileに渡すことで、ファイル内の該当文字列も問題の無いものになりました。
ご協力ありがとうございました。
895名無しさん@お腹いっぱい。:2007/06/21(木) 23:06:07 ID:VnI7E+4V0
1.0.47 が来てたみたいだけど、
・特定ディレクトリ内のファイルに定義された関数を #Include なしに呼び出せる関数ライブラリ機能の追加
・返値を関数ポインタとして API に渡せる RegisterCallback() の追加
・Extract/InsertInteger() の代わりに使えて高速な NumGet(), NumPut() の追加
あたりかなり嬉しい強化だと思われ。
896名無しさん@お腹いっぱい。:2007/06/22(金) 11:21:00 ID:1P09kX560
画面最上部でホイールスクロールするとタスク切り替えになるスクリプトキボノゥ
897名無しさん@お腹いっぱい。:2007/06/22(金) 12:34:05 ID:OWT0WEkI0
>>896
スクロールするごとにタスク切り替わると気持ち悪くならない?
Operaみたいに右クリック&スクロールで選択して離すと切り替わるみたいな方式が良さそう
GUI使うの面倒だからつくらないけど
898名無しさん@お腹いっぱい。:2007/06/22(金) 14:28:08 ID:9A4yrifu0
Autohotkeyからjaファイルを開らいて実行したいんですけどなにか方法はありませんか?

具体的になにをしたいかと言うと、
http://muumoo.jp/news/2007/04/10/0twitterclient.html
このJavascriptをahk内から扱いたいのです。runだとうまくいきません
899名無しさん@お腹いっぱい。:2007/06/22(金) 14:35:55 ID:CE/yYAL40
run, C:\WINDOWS\system32\wscript.exe ***.js %Post%

こんなんじゃだめなん?
900名無しさん@お腹いっぱい。:2007/06/22(金) 21:13:02 ID:9A4yrifu0
>>899
なるほど・・・。ありがとうございます!
901名無しさん@お腹いっぱい。:2007/06/23(土) 21:15:22 ID:ryHqR/od0
このソフトってレジストリ使うの?使わないの?
ググってみたら言ってることがばらばらで・・・
902名無しさん@お腹いっぱい。:2007/06/23(土) 23:20:40 ID:DTAEAhgJ0
>>901
インストーラー版なら当然使う。
zip版なら解凍するだけ。
.ahkファイルを関連づけするならどちらでもレジストリを使う。
利便性を考えるならインストーラー版を勧めるけど、USBフラッシュメモリなどに入れて、
出先で使うことも可能。
903名無しさん@お腹いっぱい。:2007/06/24(日) 00:05:15 ID:OQhsU2P20
>>902
なるほど・・・。ありがとうございます!
904名無しさん@お腹いっぱい。:2007/06/24(日) 17:29:29 ID:Sj93FQvL0
出先でスクリプト改変しないならexeに変換してもいいかもね。
905名無しさん@お腹いっぱい。:2007/06/27(水) 18:17:59 ID:sb8iGTVo0
906名無しさん@お腹いっぱい。:2007/06/28(木) 00:11:26 ID:CNa1OfeiO
使い方がわからなかったんじゃね?
907名無しさん@お腹いっぱい。:2007/06/28(木) 20:04:08 ID:7PkXym0v0
今日初めて使い始めました。windowのアクティブ化が簡単でビックリ。
keybatでさんざん苦労していたのが嘘みたいです。
ところで、AccessではF1で印刷、ExcelではF1で検索みたいに使いたいんですが、hotkeyをソフト内で制限する方法が分からないので、御教授を・・・
それと、1つのファイルでhotkeyを複数定義出来るのでしょうか?10種類のショートカットを登録すると10個のスクリプトを起動しないといけないなんてことは無いと思うので。。
厨房で済みません。
908907:2007/06/28(木) 20:07:02 ID:7PkXym0v0
やっべー、ソフト内での割り当てはIfWinActiveで出来ますね。
済みませんでした。
909名無しさん@お腹いっぱい。:2007/06/28(木) 20:56:08 ID:7PkXym0v0
連投済みません。
+a::b
で「b」でなく「B」になってしまいます。ちなみに^a::bにしても^bと同じ効果が発動します。 
何がいけないのでしょうか?CapsLock押してないし、他のスクリプトは立ち上がってないし。。。わからん。
910名無しさん@お腹いっぱい。:2007/06/28(木) 21:23:05 ID:pb6dNWXx0
リマップは常に{blind}になるから
Sendコマンドを割り当てれば修飾キーの動作までカスタム出来る
911名無しさん@お腹いっぱい。:2007/06/28(木) 21:46:13 ID:7PkXym0v0
>>910
ありがとうございます。
流行らせるページを見直したら

>>以下の例では、Shiftを押しながらAを押したときは、「B」が入力される。
>>
>>+a::b

て書いてありました。おっちょこちょいで済みません。
912名無しさん@お腹いっぱい。:2007/06/28(木) 21:59:33 ID:7PkXym0v0
+h::send {left}

でvi風に動きました!
ありがとうございました。
それにしても楽しいソフトですね。
913名無しさん@お腹いっぱい。:2007/06/29(金) 01:36:33 ID:my+xe6kB0
ファイル名の先頭に文字列を追加したいときに手動でF2→Homeで先頭にカーソルが来ます。
これを
○::send,{F2} {home}
で行うとなぜか、ファイル名が消えて空白の先頭にカーソルが点滅します。
手動のF2→Homeと同じことを行うにはどうしたらいいのでしょうか?
914名無しさん@お腹いっぱい。:2007/06/29(金) 01:57:45 ID:FG2iWsdm0
試しに
F1::Send,{F2}{Home}
こうやってみたけど問題なくできてるよ。
どうしてもできないようなら間にsleep入れるとか
キーボードのインプット一時ブロックしてみるとかは?
915913:2007/06/29(金) 02:16:57 ID:my+xe6kB0
>>914
あれ?今試したら、出来ました。
さっきまでいくらやってもダメだったのに・・・
不思議です・・・
こういうことって、よくあるのですか?まるで生き物みたいですね。
916名無しさん@お腹いっぱい。:2007/06/29(金) 02:23:34 ID:dgVMWsli0
>>915
お前もどうやら生きてはいる様だが脳死だな
917名無しさん@お腹いっぱい。:2007/06/29(金) 02:24:43 ID:my+xe6kB0
>>914
いま、原因が分かりました!
{F2}と{Home}の間に半角スペースが空いているときはファイル名が消えました。連続していると大丈夫でした。
お騒がせいたしました。ありがとう御座いました。
それにしても、なんで、半角スペースがあるだけでこういうことになるのでしょうか?
918名無しさん@お腹いっぱい。:2007/06/29(金) 03:15:59 ID:FG2iWsdm0
そりゃ半角スペースが挿入されるからだ。
Send,ab cd
を試してみなよ。
919名無しさん@お腹いっぱい。:2007/06/29(金) 04:31:27 ID:hExQJtRz0
F2押した直後は全体が選択されているからな
920名無しさん@お腹いっぱい。:2007/06/29(金) 22:32:28 ID:SmnECYcb0
初々しいのう
921名無しさん@お腹いっぱい。:2007/07/05(木) 21:11:14 ID:lBZf+Hum0
(物理的に)同じキーのSHIFT有り無しで入力される文字を入れ替える方法ある?
922名無しさん@お腹いっぱい。:2007/07/05(木) 23:27:55 ID:UimZ0Uka0
言ってることがよくわからんのだが
\キーを、普通に押すと\
シフト押下時は|
|が出るのではなくて、違う文字がでるようにしたいってこと?
923名無しさん@お腹いっぱい。:2007/07/05(木) 23:34:38 ID:UimZ0Uka0
もしそうだったらの場合だけど、、
Shift + \キーで@が出るようにするとしたら

+\::Send,@
924名無しさん@お腹いっぱい。:2007/07/06(金) 01:35:35 ID:s/DUTzFq0
左右のShiftの区別は出来る
925名無しさん@お腹いっぱい。:2007/07/06(金) 23:55:13 ID:GaZRSJ+W0
ttp://lukewarm.s101.xrea.com/commands/DetectHiddenWindows.html
> 非表示のウィンドウ上のコントロールを「ahk_id」を使用し
> て操作する場合、ここでの設定に関わらず操作が可能。

と書かれているんですが、以下のコードが失敗します。
これはこういう仕様なの?

SetTitleMatchMode 2
DetectHiddenWindows On
ReceivingScript := WinExist("wintest.ahk ahk_class AutoHotkey")
DetectHiddenWindows Off
SendMessage, 0x400, 0, 0,, ahk_id %ReceivingScript%
926名無しさん@お腹いっぱい。:2007/07/07(土) 00:18:49 ID:pYZoN0Hd0
DetectHiddenWindows, On
927名無しさん@お腹いっぱい。:2007/07/07(土) 01:03:11 ID:QcSLNSom0
よくわからんがSendMessageの前にOffにしてるからでないかい。
928名無しさん@お腹いっぱい。:2007/07/07(土) 01:10:59 ID://qTlm4Y0
いや、説明によると隠れているウィンドウを ahk_id で操作する場合、
DetectHiddenWindows の設定に関わらずに操作できるんじゃないの?
929名無しさん@お腹いっぱい。:2007/07/07(土) 03:10:10 ID:0HlQC6Ww0
コントロールです
930名無しさん@お腹いっぱい。:2007/07/07(土) 10:08:37 ID:/W3v7wIU0
つか WinExist()できちんとID取れてるかは確認したのか?

> "wintest.ahk ahk_class AutoHotkey"
こういうタイトルとClass併用の記述ってOKなんだっけか?
931名無しさん@お腹いっぱい。:2007/07/07(土) 11:00:13 ID://qTlm4Y0
>>930
> つか WinExist()できちんとID取れてるかは確認したのか?
問題にしたいのは、隠れているウィンドウが
DetectHiddenWindows off
で操作できるかどうか、です。

まぁ >>929 の言う通り隠れたウィンドウ上のコントロールは操作できるけど、
隠れてるウィンドウは操作できないって事かねぇ。
932名無しさん@お腹いっぱい。:2007/07/07(土) 17:46:36 ID:/W3v7wIU0
…。 問題を切り分ける上で、確認したい事項以外の不安要素は除くべきだと思うのだが。
DetectHiddenWindows on の状態でやってみたか?それで操作できたのか?
そこんとこ書いてないから確認の意味でレスしたんだけど。
933名無しさん@お腹いっぱい。:2007/07/07(土) 18:37:15 ID:UfVvNdJ6P
>>931
> >>930
> > つか WinExist()できちんとID取れてるかは確認したのか?
> 問題にしたいのは、隠れているウィンドウが
> DetectHiddenWindows off
> で操作できるかどうか、です。

なにこの頭の悪いレス。
934名無しさん@お腹いっぱい。:2007/07/07(土) 19:05:24 ID://qTlm4Y0
>>932
それは既に確認してできてますよ。
935名無しさん@お腹いっぱい。:2007/07/07(土) 19:15:10 ID:UfVvNdJ6P
>>925で自分で書いている通りの動作はできてるんでしょ?
> > 非表示のウィンドウ上のコントロールを「ahk_id」を使用し
> > て操作する

何を聞きたいのかさっぱりわからんが、その上からの物言いはやめたほうがいいよ。
936名無しさん@お腹いっぱい。:2007/07/07(土) 19:30:47 ID:ZV5RmoiH0
>>925も最初に確認したいことをもう少し明確にするなりした方が良かったと思うし、
内容はどうあれレスをくれた人にある程度の敬意というか、感謝を含んだ文章だったら
何の問題もなかったんじゃないかと。

ただ、>>933,>>935はただの混ぜっ返しにしか見えない。
937名無しさん@お腹いっぱい。:2007/07/07(土) 20:22:13 ID:2VElpa+00
>933は>930に対して>931のようなレスを返さず始めから
>934のように返しておけば、という意味じゃねーの?

>935も、意を汲めば言ってることは>936と同じ。
938名無しさん@お腹いっぱい。:2007/07/07(土) 22:08:37 ID:eu38vj8p0
こう言うのって、2年後くらいに過去ログあさっているときは、あっさりスルーなんだよなw
過去の人間の喧嘩なんて本当にどうでもいいから、読み飛ばすだけなんだよなー。
939名無しさん@お腹いっぱい。:2007/07/08(日) 01:36:45 ID:PEXydv0m0
リアルタイムでもあっさりスルーだけどな。
940名無しさん@お腹いっぱい。:2007/07/09(月) 08:42:44 ID:ekJbIVpO0
当方、英語版WindowsXP+英語キーボードを使用しており、窓使いの憂鬱からの乗りかえを考えています。
Capsキーをワンショット(SandS)モディファイヤとして使用したいのですが、良い方法がわかりません。

窓使いの憂鬱では、以下のようにしてできています。
mod Mod0 = !!Caps
key S-M0-Caps = Caps
key M0-Caps = &ShellExecute("open","cmd.exe",,,ShowNormal)
key M0-Up = PageUp
Key M0-Down = PageDown
941名無しさん@お腹いっぱい。:2007/07/09(月) 08:49:02 ID:ekJbIVpO0
すいません、途中で送信してしまいました。
上記(繭用)スクリプトをとりあえず以下のようにしてみました。

CapsLock & Up:: Send, {PgUp}
CapsLock & Down:: Send, {PgDn}
CapsLock:: Run, cmd.exe

ここまではよいのですが、Shift+CapsLockでキャピタルロックする方法がわかりません。
参考サイトなどご教授いただけると 幸いです。
942名無しさん@お腹いっぱい。:2007/07/09(月) 22:32:44 ID:SyyWGbDv0
日本語OS環境でのLock系キーの割り当ては無理
理由はこのスレを CapsLockで検索すればわかる
(いいかげんFAQと化してる話題でもう解説するの面倒なんで自分で調べてくれ)
943名無しさん@お腹いっぱい。:2007/07/09(月) 22:36:43 ID:SyyWGbDv0
スマソ、英語版環境か。
それは公式で聞いたほうが早いかも
ここにいる人間で検証できる環境がある人がそんなにいると思えんし
944名無しさん@お腹いっぱい。:2007/07/10(火) 01:15:32 ID:VI3PIsZF0
>>943
公式フォーラムにて質問してみます。
ありがとうございました。
945名無しさん@お腹いっぱい。:2007/07/10(火) 11:21:44 ID:xTvZxp/50
ウィンドウを最前面にするのはWinActivateですが
逆に、最背面にする命令はあるんでしょうか?
946名無しさん@お腹いっぱい。:2007/07/10(火) 12:13:20 ID:oveKpxSQ0
リファレンス見ればわかるだろ
947名無しさん@お腹いっぱい。:2007/07/10(火) 18:06:36 ID:FAXLBjFe0
英数+nで下、英数+pで上にカーソル移動ってできないですかね?

vkF0sc03a+n::Down
vkF0sc03a+p::Up

で、英数キーを押した時点でDownしちゃいます。
948名無しさん@お腹いっぱい。:2007/07/10(火) 18:29:38 ID:SCqJjYjc0
コンビネーションキーでカス
949名無しさん@お腹いっぱい。:2007/07/10(火) 22:55:27 ID:LNjd8xgV0
>>948
すいません。どういう意味ですか?
950名無しさん@お腹いっぱい。:2007/07/11(水) 00:02:07 ID:WihUsled0
951名無しさん@お腹いっぱい。:2007/07/11(水) 23:33:16 ID:DBpGI3DR0
>>950
どうもありがとうございます。
参考になります。
vkF0sc03a & n::Send,{Blind}{Down}
vkF0sc03a & p::Send,{Blind}{Up}
これでやってみたのですが
英数キーを離してもnキーだけでDownしちゃったりと、思い通りに行かないです。
過去ログを探したらCaps Lockは離したときを感知できないそうですけど英数キーも同じということなのでしょうか。
できたら非常に便利な場所なので残念です。
952名無しさん@お腹いっぱい。:2007/07/12(木) 00:09:13 ID:t/jcU/MX0
うちではCapsLock=英数キーだわ
953名無しさん@お腹いっぱい。:2007/07/12(木) 00:47:25 ID:mp+RsfMV0
通常の日本語キーボードは、英数キー+シフトキーでCapsLockになると思います。
954名無しさん@お腹いっぱい。:2007/07/12(木) 01:35:49 ID:NGOty0ZI0
>>951
外部環境でも使いたいというのであれば駄目だけどChange Key等を使って、
英数キーをシステムレベルで別のキー(F13〜F24キーがおすすめ)に入れ替えたのちに
AHKで↓のようにやると良いかも。
F13 & N:: Send, {Blind}{Down}
F13〜F24は一般的なアプリケーションではまず使われることがないから、
バッティングを気にせずに記述できて楽。
955名無しさん@お腹いっぱい。:2007/07/12(木) 01:55:04 ID:mp+RsfMV0
なるほど。どうもありがとうございます。
感謝です!
956名無しさん@お腹いっぱい。:2007/07/12(木) 10:29:12 ID:Br1g/sLW0
しかしいつになったらCapsLockがまともに扱えるようになるんだろう・・・
957名無しさん@お腹いっぱい。:2007/07/12(木) 11:33:15 ID:AuFj0e840
英語環境では問題ないから
治らないって話みたいですね
958940:2007/07/12(木) 12:04:19 ID:5fBmqKBn0
CapsLockについて公式フォーラムで質問してみました。
当方、英語版WinXPProSP2をラップトップPC(101/102キーボード)にて使用しているのですが、
自分のPCでは動かないahkスクリプトが、他の人のPCでは正常動作するらしいと教えていただきました。
やはりロケール設定の違いによるものっぽいですね。
(現在はWindowsの設定で日本語環境を選択しています)
当面のところは窓使いの憂鬱と併用し、何かわかったらご報告します。
959名無しさん@お腹いっぱい。:2007/07/12(木) 21:50:07 ID:N2OLKdY50
accessで使っていると新規レコードのコントロール内でhotkeyが反応しなくなり、スクリプトをリロードすると反応する現象が出ています。
これはどうやって解決したら良いのでしょうか?
960名無しさん@お腹いっぱい。:2007/07/13(金) 00:19:09 ID:I9vGa+Bx0
>>959
何かエラーが出てるんじゃね?
961名無しさん@お腹いっぱい。:2007/07/13(金) 10:16:52 ID:MRrul5Qe0
>>954
ChangeKeyでF13を設定しようとしたんですけど、コードで設定するのですよね?いろんな所を探したのですがF13のコードがわかりませんでした。汗
962名無しさん@お腹いっぱい。:2007/07/13(金) 11:23:39 ID:hrO4ySf70
ChangeKeyはようわからんが、ahkで Send,{F13} してKeyHistoryでスキャンコード調べるのではあかんのか?
http://lukewarm.s101.xrea.com/KeyList.html

自分が前に調べた時は↓のような感じだったが。

VK SC Type Up/Dn Elapsed   Key
------------------------------------------------
7C 064  i   u    0.04    F13
7D 065  i   u    0.04    F14
7E 066  i   u    0.04    F15
7F 067  i   u    0.04    F16
80 068  i   u    0.04    F17
81 069  i   u    0.04    F18
82 06A  i   u    0.04    F19
83 06B  i   u    0.04    F20
84 06C  i   u    0.04    F21
85 06D  i   u    0.04    F22
86 06E  i   u    0.04    F23
87 076  i   u    0.04    F24
963名無しさん@お腹いっぱい。:2007/07/13(金) 22:21:38 ID:6MNlcfbc0
PixelSerachもしくはそのようなコマンドを非アクティブウィンドウで実行することはできないんでしょうか
964名無しさん@お腹いっぱい。:2007/07/13(金) 22:43:54 ID:MRrul5Qe0
>>962
どうもありがとうございます。
ばっちり使えるようになりました!
965名無しさん@お腹いっぱい。:2007/07/13(金) 23:32:08 ID:UYWsyurB0
>>963
再描画のメッセージ投げれば再描画してくれる…かもしれないね。
実装にもよるけど。
966名無しさん@お腹いっぱい。:2007/07/14(土) 08:29:13 ID:bndDUv+/0
>>流行らせるページ管理人さんへ(JPドメインじゃないとBBSに書けないのでここで報告><)

mosaic.ahkのバグ報告。複数モザイクを作成した場合に新しく作成したモザイクから消していかないとうまく消えてくれないようです。
原因は#MButtonルーチンのループ内で(!mLeft%A_Index% && !mTop%A_Index%)になった時点で必ずループを抜けてしまう為に
それ以降のmIDのウィンドウが無視されてしまう為に起こるようです。

なので、Loop内の
}else if((mLeft%A_Index%<x) && (mTop%A_Index%<y) && (x<(mLeft%A_Index%+mWidth%A_Index%)) && (y<(mTop%A_Index%+mHeight%A_Index%))){
KillMosaic(A_Index)
return
を消して

新たに、~*MButtonルーチン内の if((x==mLeft%mID%) || (y==mTop%mID%)){KillMosaic(mID) 以下に
Loop,%mCount%{
if((mLeft%A_Index%<x) && (mTop%A_Index%<y) && (x<(mLeft%A_Index%+mWidth%A_Index%)) && (y<(mTop%A_Index%+mHeight%A_Index%))){
KillMosaic(A_Index)
break
}
}
て感じで移動すれば、多分大丈夫みたいです。


モザイクスクリプト作ろうと思ってたんですよ。でも普通にやると絶対処理が追いつかないので
どうしたらいいのかなって思ってた所だったので助かりました!StretchBlt()を使う発想はなかった・・
ドラッグで指定出来るところとか、複数作成出来るのがカナーリ使いやすいですね
967959:2007/07/14(土) 11:06:26 ID:ZsVO6q/40
>>960
今度はDocuworksで動かなくて、リロードしたら動きました。
うーん、何か文法ミスしているのかな?
最近使い始めたのですが、文法ミスしても動いちゃうことがあり、挙動不審になるような気がしているのですが、それかな?
968名無しさん@お腹いっぱい。:2007/07/14(土) 11:14:21 ID:udtYUX9I0
なんかのホットキーラベルでリターンしないで
Waitしてる箇所でもあるんじゃないの
969959:2007/07/14(土) 19:06:18 ID:ZsVO6q/40
相変わらず不安定です。1行の命令にも全部returnを入れた方がいいのかな?

それと別件ですが、「形」という文字を含むディレクトリ、ファイル名はRunコマンドがtargetを見つけられないようなんですけど、既知ですか?
970名無しさん@お腹いっぱい。:2007/07/14(土) 20:28:09 ID:ZODS0ePn0
>>969
escape をかえてみなされ
971名無しさん@お腹いっぱい。:2007/07/14(土) 21:48:55 ID:BGTKlqYO0
>>969
>「形」という〜
既出。
>>970の方法か、「形」の後に「`」をいれてみ。
〜AチЯ`荏柿義形港餐汁秦疏蛋伝覗描冒輿倭兪啻嫣彖拜杼歔
のような、2バイト目が0x60「`」な字をAHKで扱うときはみんな同じように記述すべし。
972名無しさん@お腹いっぱい。:2007/07/15(日) 13:03:50 ID:/2xvbVEJO
みんなエディタなにつかってる?おれは秀丸
973名無しさん@お腹いっぱい。:2007/07/15(日) 13:27:01 ID:QreDGv3C0
NumGet が無いとおもったら入れてるバージョンが古すぎた orz

>>972
emacs
974名無しさん@お腹いっぱい。:2007/07/15(日) 13:36:50 ID:BMRWZEwa0
秀丸
975名無しさん@お腹いっぱい。:2007/07/15(日) 14:03:13 ID:6XY+zCsh0
おがわさん
976名無しさん@お腹いっぱい。:2007/07/15(日) 16:17:15 ID:xNsCW7AO0
秀丸派

そういえば VxEditorがレジストリ使わないバージョンになって復活したらしいね。
流行らせるページ管理人氏が別サイトで布教してるやつ
これから始めようと思ってエディタ捜してる人にはいいんじゃないの。
過去ログで話題になってたAHK用補完スクリプトは今見に行ったら見当たらなかったが。
977名無しさん@お腹いっぱい。:2007/07/15(日) 20:37:11 ID:NbIAJK1g0
FileZillaというFTPクライアントとAutoHotKeyを組み合わせてファイルの送信して
送信が終わったら終了させるっていうスクリプトを書いています。

しかしファイルの送信が終わっても「送信が完了しました」等のダイアログが出るわけでは
無いので、どういう風に判定して終わらせたらいいのか分かりません。
この判定をミスって終わらせてしまうと、ファイル転送中なのに終了させてしまう
事になるのですが・・・。
どう判定すれば良いのでしょうか?
978名無しさん@お腹いっぱい。:2007/07/15(日) 20:41:38 ID:NbIAJK1g0
ちなみに送信にどれくらい時間がかかるかはマチマチで分からないので
Sleep, 7200000 ; (7200秒=2時間)
WinClose, FileZilla
等は出来ません。
979名無しさん@お腹いっぱい。:2007/07/15(日) 21:27:18 ID:i4EAnITy0
ネットワークモニターのモジュール使えば
980名無しさん@お腹いっぱい。:2007/07/15(日) 21:32:52 ID:1mqlPY1v0
どんなソフトかは知らないけど、
ウィンドウタイトル監視か
ステイタスバーメッセージの監視あたりじゃないの
もしかしたらFTPのメッセージログあたりを取得してるかもしれないから
そこに何かでるかもね
FFFTPだとその部分のテキストも取れる
981名無しさん@お腹いっぱい。:2007/07/15(日) 21:53:11 ID:eis6YQ3+0
emacs派なんだけどwindowsでemacsはなんか使いにくいのでgvim使ってる。
982名無しさん@お腹いっぱい。:2007/07/15(日) 22:29:09 ID:NbIAJK1g0
>>979
詳しく

>>980
ウィンドウタイトル>ずっとFileZillaのまま変化なし。FFFTPは別のダイアログが
出てきて送信速度が表示されるから出来ますよね。

ステイタスバーメッセージ>

>>>>>>>>>>>( Status Bar Text )<<<<<<<<<<
(1):
(2):
(3):
(4):
(5): キュー: 16610 MB
(6):

こんな感じです。キューが0MBになったら転送が終わるのかどうかは不明ですが
仮にそうだとしたらIf 0MB Then WinClose, FileZilla みたいな処理は可能なのですか?
983名無しさん@お腹いっぱい。:2007/07/15(日) 22:35:20 ID:Sz31OW2c0
で、次スレだけど建てられんのでテンプレだけ。
AutoHotkey version3 と勘違いされそうだからスレタイ変更、リンク修正(h抜きしても無意味だし)

とりあえず流行らせるページを読ませるのが手っ取り早いのでアオリ文とか無しで
>>1に移動させた。

------------------------------------------------------------------------
AutoHotkey スレッド part4
------------------------------------------------------------------------
(テンプレ>>1)
■公式
http://www.autohotkey.com/

■解説
AutoHotkeyを流行らせるページ
http://lukewarm.s101.xrea.com/

■過去スレ
1 http://pc7.2ch.net/test/read.cgi/software/1098531338/
2 http://pc7.2ch.net/test/read.cgi/software/1129836713/
3 http://pc11.2ch.net/test/read.cgi/software/1157043396/

関連リンク>>2以降も参照
--------------------------------------------------------------------------
984名無しさん@お腹いっぱい。:2007/07/15(日) 22:37:16 ID:Sz31OW2c0
---------------------------------------------------------------------
(テンプレ>>2)
■関連記事のあるサイト
猫歩き - AutoHotKey
http://tryhost.net/~catwalk/?cmd=read&page=AutoHotKey
AutoHotkey メモ - Principia
http://principia.s54.xrea.com/index.php?AutoHotkey%20%A5%E1%A5%E2
AutoHotKey - notitle.txt
http://kan.s151.xrea.com/?AutoHotKey
TOKKY.COM
http://www.h3.dion.ne.jp/~tokky/
なまず日記
http://www.tierra.ne.jp/~aki/diary/
eamatの日記
http://d.hatena.ne.jp/eamat/
おばけ日記
http://d.hatena.ne.jp/obake/

1 Hour Software by Skrommel - DonationCoder.com
http://www.donationcoder.com/Software/Skrommel/
ACConsole
http://www.autohotkey.com/forum/topic7831.html
----------------------------------------------------------------------

以上
追加訂正あればよろしく
985名無しさん@お腹いっぱい。:2007/07/16(月) 02:32:10 ID:7svLbx5P0
あるキーだけ押したとき = 修飾キーなしで押した状態だけ動作させたいですが、

a::Run test.exe

って書くと、ctrl+aとshift+aとかもtest.exe実行されちゃうです。

なんとかならんもんか
986名無しさん@お腹いっぱい。:2007/07/16(月) 02:46:06 ID:wg5FJNLA0
他にスクリプト常駐させてて
*a::Send, aとかやってたりとか
987977:2007/07/16(月) 04:30:39 ID:wXRSeupU0
誰か>>977をよろしくお願い致します><
988名無しさん@お腹いっぱい。:2007/07/16(月) 04:58:55 ID:6n6YKG4f0
>>987
ふつーのftpコマンドで送ればいいやん
989977:2007/07/16(月) 05:31:49 ID:wXRSeupU0
>>988
それが出来れば苦労しませんけどね。
なんせ大量のファイル数でFFFTPとかだとフリーズするし
MS純正のftp.exeだと送れてないファイルとかあってね。
唯一送れるのがFileZillaだけなんでね。
990名無しさん@お腹いっぱい。:2007/07/16(月) 05:42:30 ID:wg5FJNLA0
>>989
あっそ、じゃあもう来るな
991名無しさん@お腹いっぱい。:2007/07/16(月) 05:50:08 ID:rmeHjWJF0
ここにもこれが必要だな

わからない七大理由

1. 読まない ・・・説明書などを読まない。読む気などさらさらない。
2. 調べない ・・・過去スレ、ググるなど最低限の内容も自分で調べようとしない。
3. 試さない ・・・めんどくさいなどの理由で実行しない。する気もない。
4. 理解力が足りない ・・・理解力以前の問題で理解しようとしない。
5. 環境のせいにする ・・・自分が悪いのではなく環境が悪いと責任転嫁する。
6. 人を利用することしか頭にない ・・・甘え根性でその場を乗り切ろうとする。
7. バカだから ・・・バカだから。
992名無しさん@お腹いっぱい。:2007/07/16(月) 06:19:00 ID:UjChW3M40
>>989
代案にその態度、どんな育て方されたんだか。親の顔が見てみたいよ。
>>991
でも、4、5、7については差し伸べる手があってもいいよね?
自分の言葉足らずを棚に上げて、人の善意を足蹴にするような礼儀知らずは
除外してもいいとは思うけど。
993名無しさん@お腹いっぱい。:2007/07/16(月) 08:43:34 ID:8bBCLeiF0
>>991
Operaスレで見覚えがあるZE
994名無しさん@お腹いっぱい。:2007/07/16(月) 12:31:48 ID:cd0T6xfs0
995977
結局同梱の AU3_Spy.exe で調べても転送終了前と転送終了後で
全く変化が無いのでそこを判定して終了させる事は出来ないと思われるわけで
AutoHotKeyでは無理って事ですか。何か他の手段と連携しないと・・・・