AutoHotkey スレッド part5

1 :名無しさん@お腹いっぱい。[sage]:2008/01/28(月) 15:48:16 ID:LAzeYh1N0
(テンプレ>>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/
4 http://pc11.2ch.net/test/read.cgi/software/1184556627/

関連リンク>>2以降も参照
2 :名無しさん@お腹いっぱい。[sage]:2008/01/28(月) 15:48:45 ID:LAzeYh1N0
(テンプレ>>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
3 :名無しさん@お腹いっぱい。[sage]:2008/01/28(月) 15:49:26 ID:LAzeYh1N0
FAQ
Q:CapsLock(英数)キーの割り当てがうまくいかないよ
A:日本語環境だとLock系キーの動作は不定。
  OS側がキーUp/Down情報が正しく返してこないので対処のしようがない。
  OSのローカライズ段階で発生してる問題なので、窓使いの憂鬱やChange Keyのように
  ドライバレベルで弄らないとダメだが英語圏では問題ないらしいので今後のサポートもあまり期待できない。
  対処としては前述のソフトで、CapsLock(英数)キーを別のキー(F13~F24など)に割り当ててから
  AHKで利用すべし。

Q:「~AチЯ㌔荏柿義形港餐汁秦疏蛋伝覗描冒輿倭兪啻嫣彖拜杼歔」を含む文字列がうまく扱えないよ
A:これらの文字の2バイト目が、AHKのエスケープ文字である0x60[`]なため。
  対処としてはこれらの文字の"直後"に「`」を記述する(例:「線形`代数」)か、
  #EscapeCharでエスケープ文字を別のものに変えるべし。
4 :名無しさん@お腹いっぱい。[sage]:2008/01/28(月) 15:49:48 ID:LAzeYh1N0
Q:Shift, Ctrl, Alt, Winキー以外のキーを修飾キーとしてキー割り当てしたいよ
  (例:無変換 + IKJLキーをそれぞれ「↑↓←→」に割り当てたいよ)など
A:Remap機能は記述が簡単になる反面、細かい指定がしにくい。
  流行らせるページのHotkeys, キーリスト, リファレンス→Send, #IfWinActive, GetKeyState()なども参照すること。
  なお、例の場合は以下のように記述する。
  sc07B & I:: Send, {Blind}{Up}
  sc07B & K:: Send, {Blind}{Down}
  sc07B & J:: Send, {Blind}{Left}
  sc07B & L:: Send, {Blind}{Right}
5 :名無しさん@お腹いっぱい。[sage]:2008/01/28(月) 15:50:23 ID:LAzeYh1N0
わからない七大理由

1. 読まない ・・・説明書などを読まない。読む気などさらさらない。
2. 調べない ・・・過去スレ、ググるなど最低限の内容も自分で調べようとしない。
3. 試さない ・・・めんどくさいなどの理由で実行しない。する気もない。
4. 理解力が足りない ・・・理解力以前の問題で理解しようとしない。
5. 環境のせいにする ・・・自分が悪いのではなく環境が悪いと責任転嫁する。
6. 人を利用することしか頭にない ・・・甘え根性でその場を乗り切ろうとする。
7. バカだから ・・・バカだから。
6 :名無しさん@お腹いっぱい。[sage]:2008/01/28(月) 16:22:45 ID:iT6mqMKp0
FAQ

AutoHotkeyを流行らせるページよりも
■公式
http://www.autohotkey.com/
を調べた方が早いしためになる。
はやらせるページで変な広告を踏まないように。
サイト主自身の自演にも気をつけること。
7 :名無しさん@お腹いっぱい。[sage]:2008/01/28(月) 16:23:06 ID:RUz0ESHl0
>>1
おつです
8 :名無しさん@お腹いっぱい。[sage]:2008/01/28(月) 17:57:40 ID:1WXSlsm10
英語読めません><
9 :名無しさん@お腹いっぱい。[sage]:2008/01/28(月) 19:05:44 ID:QvDUd8La0
必要な人は今の内に流行らせるページを保存しておいた方がいいかもね
10 :名無しさん@お腹いっぱい。[sage]:2008/01/28(月) 20:53:13 ID:mX8zLuSg0
一部の人間以外、みんなわかっていると思うが、
流行らせるページに出てる広告は xrea.com が出してる広告だぞ。
どんなに広告クリックしたって流行らせるページ管理人には一円も入らない。

そもそも、直訳でもないし、管理人の作ったスクリプトも多いだろ。

こんな下らないことで管理人にやる気を無くされると困るので言っておく。
日本語の流行らせるページがなければオレは AHK を使う気にならなかったと思う。
オレにとってはとてもありがたいページだ。
無くなると非常に困る。
11 :10[sage]:2008/01/28(月) 20:56:28 ID:mX8zLuSg0
あまりのアホ臭さに、ついカッとなって書き込んでしまったが、
本当は無視した方が良いんだよな。
12 :名無しさん@お腹いっぱい。[sage]:2008/01/28(月) 21:08:56 ID:iglknCZV0
>>2
TOKKY.COM
http://www.h3.dion.ne.jp/~tokky/
↑これリンク切れてない?

乙です!
13 :名無しさん@お腹いっぱい。[sage]:2008/01/29(火) 00:08:58 ID:XdQ+yieA0
導入しようとしていきなりつまずいたんですが,
「Ctrl+,」にホットキーを割り当てるにはどうすればいいんでしょうか?
^,:: Send,{Down}
としても反映されないし,
^`,:: Send,{Down}
のようにカンマの前でエスケープを入れるとエラーで読み込んでくれません.
どなたか解決方法をご存知でしたら教えてください.
14 :名無しさん@お腹いっぱい。[sage]:2008/01/29(火) 01:15:59 ID:Ay5OuFjT0
^,::Send,{Down}

でも

^,::
Send,{Down}
Return

でも普通にカーソル下を押したように動作するけど?
15 :13[sage]:2008/01/29(火) 01:25:19 ID:XdQ+yieA0
>>14
いま自宅のPCで試したら問題なく動きました.
なぜか会社のノートPCだと「Ctrl+,」が動かなくって困ってたんですが・・・・
なぜなんだ(´・ω・`)
明日また格闘してみます.
レスありがとうございました.
16 :名無しさん@お腹いっぱい。[sage]:2008/01/29(火) 12:40:37 ID:Szetxnxc0
5ボタンマウスのサイドボタン押したら
アプリ毎に独自のAHKで作ったコンテキストメニュー出すようにしたらめちゃ便利になったぜ。
17 :名無しさん@お腹いっぱい。[sage]:2008/01/29(火) 14:32:03 ID:ajljrKKP0
タブ一覧をフルパスで出すことは可能ですか?
18 :名無しさん@お腹いっぱい。[sage]:2008/01/29(火) 15:36:31 ID:H396lWxH0
任意ウィンドウにファイルパスをドロップするのってAHKで実現するとなるとやっぱDllCallあたり?

秀丸上で再編集した AviSynthスクリプトを VirtualDub で開き直したいんだが
秀丸(マクロ起動)→ AHK → CDrop.exe → VirtualDub みたいな感じになってイマイチ美しくない。
CuteExec + CDrop 的なことをAHK単体でできるとスマートになるんだが
19 :名無しさん@お腹いっぱい。[sage]:2008/01/29(火) 17:53:20 ID:ajljrKKP0
"を,に変更しようとして下記を実行するとエラーになります。
"のエスケープ方法はありますか?

RegExReplace(str, """, ",") → ダメ
RegExReplace(str, "\"", ",") → ダメ
20 :名無しさん@お腹いっぱい。[sage]:2008/01/29(火) 19:28:38 ID:3WMuG5Dr0
つRegExReplace(str, """", ",")
流行らせるページに書いてあった気がするぞ
21 :名無しさん@お腹いっぱい。[sage]:2008/01/29(火) 20:39:08 ID:BI4JxHKn0
>>16
それ俺もやってる。便利だよな
22 :名無しさん@お腹いっぱい。[sage]:2008/01/31(木) 16:33:32 ID:shq4HQgO0
特定のタイトルを含むダイアログがポップしたら
即走り出すスクリプトってどう書けばいいんですか?
23 :名無しさん@お腹いっぱい。[sage]:2008/01/31(木) 17:42:19 ID:at/ss03S0
WinWaitでひたすら待機するか、SetTimerで定期的にウィンドウチェックする
24 :名無しさん@お腹いっぱい。[sage]:2008/02/01(金) 12:16:53 ID:a0KRVuAu0
マウスとトラックボールで使う設定を切り替えたいのですが、
特定のキーを押したら設定ファイルを切り替えることはできますか?
25 :名無しさん@お腹いっぱい。[sage]:2008/02/01(金) 13:39:13 ID:VhWABfjI0
いくらでもやりようはあるんでは
全部メインINIに書かんでも必要な時に単体AHKで走らせるとか
どういう形で利用したいか次第だけど
26 :名無しさん@お腹いっぱい。[sage]:2008/02/01(金) 15:22:25 ID:4atLgnwZ0
ホットキー押下で処理が実行できるように、
マウスを任意のポジション(画面右端など)に持っていくと任意の関数を呼び出すことってできますか?
27 :名無しさん@お腹いっぱい。[sage]:2008/02/01(金) 15:23:50 ID:USinHq/30
SetTimerで定期的にカーソルの座標をチェックする
28 :名無しさん@お腹いっぱい。[sage]:2008/02/01(金) 15:29:07 ID:4atLgnwZ0
>>27
なるほど!頭が固かった。
ありがとうございます。
29 :名無しさん@お腹いっぱい。[sage]:2008/02/01(金) 16:03:24 ID:4atLgnwZ0
#Persistentを入れたら、よく分からないのですがGUI関連の動作が変になります。

画面表示させると、タスクバーにウィンドウタブが出るのに、画面が表示されません。

何か注意事項があれば教えてください。
30 :名無しさん@お腹いっぱい。[sage]:2008/02/01(金) 16:14:06 ID:VhWABfjI0
AHK晒す方が早い
31 :名無しさん@お腹いっぱい。[sage]:2008/02/01(金) 17:21:17 ID:4atLgnwZ0
なにかRegExReplaceの挙動が変です。
clipboard := RegExReplace(clipboard, "$", "_")

clipboardは「aaa」
aaa____________ ※「_」が永遠につきます。

これは私だけでしょうか?
32 :名無しさん@お腹いっぱい。[sage]:2008/02/01(金) 18:32:39 ID:VhWABfjI0
どこかでループに入ってるだけじゃないの
OnClipBoardChangeとかでそれやるとそうなると思うけど
それにしても挙動がおかしいわけじゃないので精進あるのみ
33 :名無しさん@お腹いっぱい。[sage]:2008/02/02(土) 22:56:17 ID:KxCafLCj0
普段は無変換をAltにして、変換中の文字列がある時は
無変換のままにするには、どうしたらいいでしょうか?
ImmGetContext
ImmGetCompositionString
ImmReleaseContext
で何とかしようとしたんですが、ImmGetContextが
HIMCを返してくれず、つまってしまいました。
34 :名無しさん@お腹いっぱい。[sage]:2008/02/03(日) 07:50:55 ID:rBQILGNE0
>>11
そうかもしれんが
とりあえずグッジョブ!!

オレも同じ気持ちだ
35 :名無しさん@お腹いっぱい。[sage]:2008/02/04(月) 08:09:41 ID:lNDxtde70
トグルでのリマップ、具体的には
;1 キーボード左手ホームポジション付近にテンキーを配置
;2 と同時にマウスホイルを横スクロール化する
ってのを本家のForumからのコピペを継接ぎして動作確認取ったんですよ。

で、本題、そこに更にSandS実装したらテンキー部分が1と2は死んじゃったんです。
使わせてもらったのはコレ
ttp://sadat-studio.net/modules/mydownloads/viewcat.php?cid=3

他に変換キーとの同時押し、無変換キーとの同時押しで色々割り振ってるけどそっちは問題ないんです。
(最後にSandS付足したらトグルテンキー&スクロールが死んだ)

なんとか粗探ししてもらえませんか?
やりたいこと纏めた画像とコードも晒しときます。

http://rainbow.sakuratan.com/data/img/rainbow67867.jpg
36 :名無しさん@お腹いっぱい。[sage]:2008/02/04(月) 08:12:14 ID:lNDxtde70
DetectHiddenWindows On
GoSub ~ScrollLock ; react to initial state
; ... further code here
; --- end of autoexecute section ---
~ScrollLock:: ; toggle by create/destroy a hidden window
If GetKeyState("ScrollLock","T")
Gui 1:Show, Hide, ScrLk
Else
Gui 1:Destroy
Return

!T:: ; toggle by create/destroy a hidden window
AltT := !AltT
If AltT
{
Gui 2:Show, Hide, Alt-T
TrayTip, テンキー&横スク, ON!!!!!!!!!!!!!!!, 10, 17
}
Else
{
Gui 2:Destroy
TrayTip, , OFF!!!, 10, 17
}
Return

#IfWinExist ScrLk ; below the HotKeys are active when CapsLock is ON
!z::MsgBox ScrollLock ON
;...
#IfWinExist Alt-T ; below the HotKeys are active when Alt-T toggle is ON
!z::MsgBox Alt-T ON
2::Send {BS}
3::Send {Numpad7}
37 :名無しさん@お腹いっぱい。[sage]:2008/02/04(月) 08:12:48 ID:lNDxtde70
4::Send {Numpad8}
5::Send {Numpad9}
q::Send +{Tab}
w::Send {Numpad4}
e::Send {Numpad5}
r::Send {Numpad6}
t::Send {Tab}
a::Send {Numpad0}
s::Send {Numpad1}
d::Send {Numpad2}
f::Send {Numpad3}
x::Send {,}
c::Send {NumpadDot}
v::Send {NumpadEnter}
WheelUp:: ; Scroll left.
ControlGetFocus, fcontrol, A
Loop 4 ; <-- Increase or decrease this value to scroll faster or slower.
SendMessage, 0x114, 0, 0, %fcontrol%, A ; 0x114 is WM_HSCROLL and the 0 after it is SB_LINERIGHT.
return

WheelDown:: ; Scroll right.
ControlGetFocus, fcontrol, A
Loop 4 ; <-- Increase or decrease this value to scroll faster or slower.
SendMessage, 0x114, 1, 0, %fcontrol%, A ; 0x114 is WM_HSCROLL and the 1 after it is SB_LINELEFT.
return
;...
#IfWinExist ; below the HotKeys are active when all toggles are Off
!z::MsgBox ScrollLock/Alt-T Off
;...
38 :名無しさん@お腹いっぱい。[sage]:2008/02/04(月) 10:54:47 ID:1sw7KKiW0
>>32
これはバグでしょう。

クリップボード「c\windows」

clipboard := RegExReplace(clipboard, "\\", "_")
 → c_windows
clipboard := RegExReplace(clipboard, "\\", "\\\\")
 → c\\\\\\\・・・無限に

どの正規表現ライブラリで実行してもこんな結果にならない。
というか、最初のマッチ文字は置換対象文字の影響を受けないのが正規表現の仕様のはず。
39 :名無しさん@お腹いっぱい。[sage]:2008/02/04(月) 13:58:05 ID:lxZerH8t0
だから、スクリプトの書きミスで再帰的に
その行が実行されちゃってるんじゃないの?

clipboard = c\windows

clipboard := RegExReplace(clipboard, "\\", "\\\\")

ExitApp

これだけをAHKとして実行したら無限になんかならないよ?
40 :名無しさん@お腹いっぱい。[sage]:2008/02/04(月) 15:19:54 ID:hiCAfNGc0
>32も指摘してる通り OnClipboardChange: イベントでループしてんじゃないの?
てか検証して欲しいなら どういう条件でコードが実行されるのかイベントやラベルも含めて晒せよ
あと、OSとAHKのバージョンもな。

それと本当にバグを見つけたんならここだけで話終わらせないで公式に報告汁
適当な機械翻訳でもサンプルソースとかで意図さえ伝わればフィードバックしてもらえるよ。
41 :名無しさん@お腹いっぱい。[sage]:2008/02/04(月) 18:37:52 ID:NF7nd3YZ0
意図しない挙動をして質問する時は、>>40の言うように
その環境と再現する最小の例を出さないと、要エスパーになる

まあ、処理系のバグのせいにする時は、99%凡ミスしてるんだけどなw
42 :名無しさん@お腹いっぱい。[sage]:2008/02/04(月) 19:58:32 ID:dA0g5f860
流行らせるページって公式に許可取ってるの?
勝手に本まで出して。
43 :名無しさん@お腹いっぱい。[sage]:2008/02/04(月) 20:12:43 ID:lzI8duyb0
>>42
公式サイトのトップページからリンクされてる
勿論それが許可を取った証拠にはならないが、公認されているのは間違い無いな
44 :名無しさん@お腹いっぱい。[sage]:2008/02/04(月) 20:22:49 ID:e8nuEEnl0
流行らせるページって本当に流行らせたかったら
サイトデザイン変えるのが先だろうと思ってしまう
45 :名無しさん@お腹いっぱい。[sage]:2008/02/04(月) 20:25:33 ID:YiEZp6JU0
つーか、GPLな物の本を出すときに許可をとる必要あるの?
46 :名無しさん@お腹いっぱい。[sage]:2008/02/04(月) 20:52:03 ID:dA0g5f860
このレスの速さw
本人常駐かよ。
47 :名無しさん@お腹いっぱい。[sage]:2008/02/04(月) 20:53:44 ID:se7bcYAi0
ID:dA0g5f860
48 :名無しさん@お腹いっぱい。[sage]:2008/02/04(月) 21:01:45 ID:T+oEl9Ya0
ちょっと調べれば間違いだと分かることで難癖をつけたり、
やたら他人の財布の中身に執着するし、前スレの奴かもな。

>>45
つーか、大体のPC系の解説本って無許可なんじゃね?
49 :名無しさん@お腹いっぱい。[sage]:2008/02/04(月) 21:21:30 ID:XZ2S5i9N0
AHK付属させるとかじゃなければメールで知らせる程度だろう
てか、某厨雑誌とか断っても既にメディアにプレスしてしまったから
掲載させろとか言ってくるんだぜ?w
50 :名無しさん@お腹いっぱい。[sage]:2008/02/04(月) 23:47:13 ID:zQqzFbOH0
GPLだからなんの問題もないよ。
世の中にあるlinux解説サイトとかlinux本とか
全部linusの許可もらってるとでも思ってんのか。
51 :名無しさん@お腹いっぱい。[sage]:2008/02/05(火) 00:04:13 ID:UKfPXss30
5ボタンくん再臨だな
52 :35[sage]:2008/02/05(火) 06:38:40 ID:fCMPtgDt0
華麗にスルーですかそうですか
自分でやってみるよ…
53 :名無しさん@お腹いっぱい。[sage]:2008/02/05(火) 12:06:58 ID:ri+tJX5c0
本なんて出てるんだ。
っつーかあの日本語はオタ特有だよね。
大量にあるのに何が言いたいか相手に伝わらない。
英語ヘルプの方が分かりやすい。

>>35も何が言いたいのかさっぱりわからん
54 :名無しさん@お腹いっぱい。[sage]:2008/02/05(火) 12:49:31 ID:UKfPXss30
いいたいことは分かるが検証するには量多すぎて付き合いきれんw
55 :名無しさん@お腹いっぱい。[sage]:2008/02/05(火) 12:54:07 ID:K8ltHUV00
あれ本て言うのか、、
56 :名無しさん@お腹いっぱい。[sage]:2008/02/05(火) 15:55:19 ID:y+D95pDv0
>>52
SandS、スクリプト書いてupろだに上げた者だが、Inputで入力拾ってるので色々動作に制限は出てると思う。
ここ(の過去スレ)で要望が出たからサンプルとして書いたけど、
たしか要望した本人も「結局使えない」て結論に至っていたような。

とりあえず SAS_Initルーチン内の sas_EndKeys に {Numpad0~9}とかを追加してみたらどうだろう。
ちなみにうちはノートPCなので動作確認はしてやれない、テンキーついてないしね。
てか、普通のSpace&1とか押しても ! にはならないな。当時使ってたPCでまともに動いてたのかも覚えてないわ。


それと、>35のリンク先で、変換/無変換キーにIME ON/OFF割り当ててるけど
これってAHK使わなくても IMEのキーバインド変更機能でいけるような…
(キーカスタマイズできない昔のMS-IMEしか入ってない環境では自分もやっていたが)
57 :名無しさん@お腹いっぱい。[sage]:2008/02/05(火) 16:33:45 ID:TVchypt10
>>33みたいな日本語を書く人はちゃんと学校を出たのかと心配になる
58 :35[sage]:2008/02/05(火) 18:54:52 ID:fCMPtgDt0
>>53
>>35も何が言いたいのかさっぱりわからん
確かに読み直してみると日本語でおk状態でした

>>56
>>これってAHK使わなくても IMEのキーバインド変更機能でいけるような…
仰るとおりです。リンク先画像の赤いキーはレジストリ書換とIMEのプロパティで実現してます。
ホント全く説明になってないよね、面目ない…

やりたい事の全容ですが、
1, 変換キーを絡ませた同時押し
2, 無変換キーを絡ませた同時押し
3, S&S
4, 8ボタンマウスのキーを絡ませた同時押し
のワンショット・モディファイヤ(以下W.M.)、それにマウス側の各トグルキーで2配列追加して
まぁ計6配列切り替えてキーボードを使いたいって感じです。
で、まぁ、一応全て動作して、それなりに満足してます。

今悩んでる、というか多分出来ないんだろうけどなんか代替手段ね~かなと思ってるのは
1, 上記のトグル状態をキャレット及びマウスポインタに反映させれないか?(今はTooltip使ってる)
2, W.M.で割振ったキーが、別の修飾キーを同時押しした際に思ったように動作しない
(例えばW.M.で割振った{+}キーとShiftを同時押ししてもShift+{+}のようにアプリ側が認識してくれてない)
という2点です。何かヒントになるものありませんかね?
59 :名無しさん@お腹いっぱい。[sage]:2008/02/06(水) 18:01:25 ID:pvAifRzL0
IME の On/Off の切り替えじゃなくて
IME を Off にすることはできるでしょうか? (On/Off に関係なく)
60 :名無しさん@お腹いっぱい。[sage]:2008/02/06(水) 18:10:00 ID:d8898FGG0
onだったらoff,return
offだったらreturn
61 :名無しさん@お腹いっぱい。[sage]:2008/02/06(水) 19:27:15 ID:pvAifRzL0
???
On/Off 関係なく IME を Off にしたいんですけど。。。
62 :名無しさん@お腹いっぱい。[sage]:2008/02/06(水) 19:37:51 ID:Sl+cm/Zu0
>>59
ほいよ、 これで IME_SET(0) でおk

IME_SET(setSts, WinTitle="")
{
ifEqual WinTitle,, SetEnv,WinTitle,A
WinGet,hWnd,ID,%WinTitle%
DefaultIMEWnd := DllCall("imm32\ImmGetDefaultIMEWnd", Uint,hWnd, Uint)

;Message : WM_IME_CONTROL wParam:IMC_SETOPENSTATUS
DetectSave := A_DetectHiddenWindows
DetectHiddenWindows,ON
SendMessage 0x283, 0x006,setSts,,ahk_id %DefaultIMEWnd%
DetectHiddenWindows,%DetectSave%
Return ErrorLevel
}
63 :名無しさん@お腹いっぱい。[sage]:2008/02/06(水) 19:38:04 ID:tpln78Ks0
例えば無変換なら
vk1Dsc07B::IME_OFF("A")
64 :名無しさん@お腹いっぱい。[sage]:2008/02/06(水) 19:42:14 ID:EgdTkP180
なんか忘れてない?
65 :名無しさん@お腹いっぱい。[sage]:2008/02/06(水) 22:01:48 ID:AYbDX1cI0
質問です。
Edit コントロールに入力した文字列を utf-8 として取得したいのです。
クリップボード経由 Transform,,Unicode で出来そうなのですが、
もっと直接的な方法はないでしょうか。
66 :名無しさん@お腹いっぱい。[sage]:2008/02/06(水) 22:48:54 ID:EdJE6v3t0
ControlGetは?
67 :名無しさん@お腹いっぱい。[sage]:2008/02/07(木) 18:37:55 ID:eh09GcLw0
>>62
ありがとうございます。最高です!

回数を指定してキーを送る時に、IME がオンの時に困っていました。
1000 文字とか送るので (マクロの止め方がわからないし。。)
68 :65[sage]:2008/02/07(木) 21:31:30 ID:Zlfk3GsS0
>>66
レスありがとうございました。
なんとか自己解決できそうです。
こんな感じでいいのでしょうか。

EM_GETLINE := 196
buf_size := 100
VarSetCapacity(buf, buf_size)
DllCall("RtlFillMemory", "Uint", &buf, "Uint", 1, "BYTE", buf_size &0xFF)
DllCall("RtlFillMemory", "Uint", &buf + 1, "Uint", 1, "BYTE", (buf_size >> 8) & 0xFF)
DllCall("RtlFillMemory", "Uint", &buf + 2, "Uint", 1, "BYTE", (buf_size >> 16) & 0xFF)
DllCall("RtlFillMemory", "Uint", &buf + 3, "Uint", 1, "BYTE", (buf_size >> 24) & 0xFF)
DllCall("RtlFillMemory", "Uint", &buf + 4, "Uint", 4, "BYTE", 0)
c := DllCall("SendMessageW", "Uint", IdEdit, "Uint", EM_GETLINE, "int", 0, "Uint", &buf)
DllCall("RtlFillMemory", "Uint", &buf + 2*c, "Uint", 2, "BYTE", 0)
; UNICODEを utf-8 に変換
69 :名無しさん@お腹いっぱい。:2008/02/08(金) 12:45:20 ID:4jp9yaxv0
なまず氏の ダメ文字対策ライブラリ(mbstring.ahk)を見てるんだけど
>MBS_StringTrimLeft(ByRef outputVar, ByRef inputVar, count)

inputVar も ByRef型なのは何でなんだろ?
試しに inputVar を ByVal型にして見ても同じ動作はするみたいだけど (WinXP sp2 Ahk ver.1.0.47.05)
敢えてByrefにしているのは何か訳があるのだろうか?

inputVar と outputVar 同じバッファを指定するとまずいのかな。
AHKオリジナルは StringTrimLeft, buf, buf, 1 としても問題ないことになってるので
同様の使いかたをしたいのだが。
軽くテストした感じでは希望通りの結果が得られたけど、不定動作になることもあり得る?
70 :名無しさん@お腹いっぱい。[sage]:2008/02/08(金) 12:52:10 ID:2F8NJJop0
なまずってのはアフィ厨じゃないんだな。珍しく
71 :名無しさん@お腹いっぱい。[sage]:2008/02/08(金) 13:40:56 ID:DDRTnBHp0
流行らせるさんのMouseGesture2の
MouseGesture.iniでDGInterval=0が初期値なのはなぜだろう
X1ダブクリが効かなくて悩んだのでメモ
他で不具合が出るのだろうか
72 :名無しさん@お腹いっぱい。[sage]:2008/02/08(金) 14:46:43 ID:DDRTnBHp0
あとフォーカスを持ってないコントロールの上での
ホイールUPのみ、ホイールDOWNのみで起動したいアクションがうまくいかない
フォーカスを持っているコントロールに送られてしまう
73 :名無しさん@お腹いっぱい。[sage]:2008/02/08(金) 14:54:50 ID:DDRTnBHp0
あああああorz
ごめんなさいごめんなさいごめんなさい
>>71 readmeに書いてあったああ
>>72 アクティブにしてからsendでできたあああ
ごめんなさいごめんなさいごめんなさいorz
74 :名無しさん@お腹いっぱい。[sage]:2008/02/08(金) 16:46:59 ID:osns6GEA0
>>72
つ流行らせるページ
75 :名無しさん@お腹いっぱい。:2008/02/08(金) 19:26:07 ID:4jp9yaxv0
ahk2exe コマンドライン
/icon を指定しないとエラー吐いて終わるようになってるね。(2007/11/21 ver)
何気に不便だ。
76 :名無しさん@お腹いっぱい。[sage]:2008/02/08(金) 19:40:26 ID:Uv76QAMz0
>75
Version 1.0.47.05 のこと?
ならないよ。正常作動。
77 :名無しさん@お腹いっぱい。:2008/02/08(金) 20:11:44 ID:4jp9yaxv0
GUI立ち上げて Custum icon の項をクリアしたらいけました。お騒がせしてスマソ

そういえば以前もはまったんだったわ、これ。
Ahk2exeって GUIで指定した過去の.icoのパスをレジストリに記憶していて
コマンドライン時も参照するんだよね。テラマギラワシス
78 :名無しさん@お腹いっぱい。[sage]:2008/02/09(土) 14:06:51 ID:/ZUYXnzs0
>>71
MouseGesture2はMG_Edit.ahkいじって直さないと厳しい。
ジェスチャ指定の方向ボタン押すと別の方向が入力されたり、
条件定義のどれかor全てに一致が反映されなかったりする。

.ahkいじって直すといい。AHKを知るのに役立つからそれが狙いかも。
79 :名無しさん@お腹いっぱい。[sage]:2008/02/09(土) 15:26:25 ID:mPAFufKZ0
ahkで作ったテキストボックスに日本語を入力しようとすると妙にもたつくというか表示されません。
解決法はありますか?
80 :名無しさん@お腹いっぱい。[sage]:2008/02/09(土) 15:41:10 ID:WRA8epLk0
未解決だね

AutoItのGUIは日本語徹っぽいな
しかし今から覚えるのまんどー
81 :名無しさん@お腹いっぱい。[sage]:2008/02/10(日) 18:32:17 ID:urNrftPm0
>>80
ありがとうございました。別の方法を探して見ます。
82 :名無しさん@お腹いっぱい。[sage]:2008/02/11(月) 21:11:16 ID:PEDtGQkM0
5ボタンマウス買ったので早速いろいろやってみようと思ったら
Xbutton1:: MsgBox, Xbutton1 Pressed
Xbutton2:: MsgBox, Xbutton2 Pressed
が全く無視されちゃうんですがJoy?同様イベントとしては発生しないんですか?
83 :名無しさん@お腹いっぱい。[sage]:2008/02/11(月) 21:20:58 ID:D69x2CQo0
logitecのマウスだとsetpointの設定によっては
サイドボタンはXButton1とかじゃなくなってるよ。
設定かえればいける。
MSのマウスは知らない。
84 :名無しさん@お腹いっぱい。[sage]:2008/02/11(月) 22:33:02 ID:PEDtGQkM0
なるほど、意味はわかったけどIntelliPointの設定とAHKが連携してくれない。
Browser_BackやNumpadDivなんかに割り当ててみても反応しない。

画面を4分割してサイドボタンクリックしたときのマウスカーソルの位置で
仮想デスクトップを切り替えようと目論んでいたんだけど・・・

ともかくありがとうございます。
85 :名無しさん@お腹いっぱい。[sage]:2008/02/12(火) 02:33:53 ID:UVg/XF8b0
ahkのトレイアイコンをダブルクリック、ctrl+k でキーヒストリ見れるよ。
86 :名無しさん@お腹いっぱい。[sage]:2008/02/12(火) 20:29:17 ID:OVFZxKUz0
RegExReplaceで改行の「_」にしたいのですが、
str := RegExReplace(str, "`r`n|`n|$|\z|\Z", "_") とやっても目的どおりになりません。

元データ
aaa
bbb
ccc

理想
aaa_bbb_ccc

実際
aaa
bbb
ccc_
87 :名無しさん@お腹いっぱい。[sage]:2008/02/12(火) 22:44:37 ID:uKCFPiBm0
>>75
これかな?
AVG - all ahk script infected
http://www.autohotkey.com/forum/topic25333.html
88 :名無しさん@お腹いっぱい。[sage]:2008/02/12(火) 23:02:33 ID:IGJgXqVN0
>>86
Str = aaa`r`nbbb`r`nccc

str := RegExReplace(str, "`r`n|`n|$|\z|\Z", "_")

MsgBOx, %STr%

ExitApp

ばっちりaaa_bbb_cccになったよ
89 :名無しさん@お腹いっぱい。[sage]:2008/02/13(水) 10:04:08 ID:sO97eULm0
>>88
ありがとうございます。

実際の処理は下記になっています。
change := RegExReplace(clipboard, MyText1, MyText2)

MyText1、MyText2はGuiのEditで、「`r`n|`n|$|\z|\Z」を入力しました。
置換対象は改行が入っているクリップボードです。

Guiから「`r`n|`n|$|\z|\Z」の入力で、「`r`n」が正しく判断されないのでしょうか?
90 :名無しさん@お腹いっぱい。[sage]:2008/02/13(水) 12:04:52 ID:1HOMoDij0
再現した。

GUIからSUBMITされた`r`nは既にエスケープされてる

StringReplace, MyText1, MyText1, ``r, `r, 1
StringReplace, MyText1, MyText1, ``n, `n, 1

これ入れたら上手くいった

もし正規表現によるGUI置換スクリプトなら
素直に「\r\n」を利用すればいい気もする
91 :名無しさん@お腹いっぱい。[sage]:2008/02/17(日) 16:36:12 ID:7mRUuCKX0
なにか人として足を踏み入れてはならない変態領域に突入しつつあるような悪寒・・・
; 無変換キーとのコンビネーション

; 半角/全角 vkF3sc029/vkF4sc029 (IMEのON/OFFで発生するイベントが違うが、Sendコマンドで送信する場合はどちらでも同じ)
; 変換 vk1Csc079
; 無変換 vk1Dsc07B
; ひらがなカタカナ vkF2sc070

; IME for VJE
vk1Dsc07B & vkF2sc070:: Send,{Ctrl Down}{BS}{Ctrl Up} ; +かな 確定取り消し

; カーソル移動
vk1Dsc07B & U:: Send,{Home}
vk1Dsc07B & O:: Send,{End}
vk1Dsc07B & I:: Send,{Up}
vk1Dsc07B & L:: Send,{Right}
vk1Dsc07B & K:: Send,{Down}
vk1Dsc07B & J:: Send,{Left}
vk1Dsc07B & Q:: Send,{PgUp}
vk1Dsc07B & E:: Send,{PgDn}

; 編集
; Cut, Copy, Paste
vk1Dsc07B & A:: Send,{Shift down}{Delete}{Shift up}
vk1Dsc07B & S:: Send,{Ctrl down}{Insert}{Ctrl up}
vk1Dsc07B & D:: Send,{Shift down}{Insert}{Shift up}
vk1Dsc07B & G:: Send,{Del}
vk1Dsc07B & H:: Send,{BS}
vk1Dsc07B & M:: Send,{Enter}
vk1Dsc07B & N:: Send,{End}{Enter}
vk1Dsc07B & `;:: Send,{Enter}
92 :名無しさん@お腹いっぱい。[sage]:2008/02/17(日) 19:46:55 ID:nXi1dMsx0
俺はTypeMatrix風中央配置してみた
TY=Tab、GH=Return、BN=BS
片方BTab、ShiftReturn、Delもいいかもしれん…
93 :名無しさん@お腹いっぱい。[sage]:2008/02/17(日) 22:24:58 ID:z5JlTnrn0
先生教えてください。二つのスクリプトを瞬時に交互に切り替えしたいのです。

例としては、PauseキーでAutoHotkey2を読み込みAutoHotkey1をアンロード、
逆にScrollLockキーでAutoHotkey1を読み込みAutoHotkey2をアンロード、
って事をしたいのですがおせーてください。

つまらない物だけど置いていきます。
ScrollLockでサスペンド、Pauseでサスペンド復帰+リロードです・・・
vk91::Suspend on
pause::Suspend
vk13::Reload
94 :名無しさん@お腹いっぱい。[sage]:2008/02/17(日) 23:21:53 ID:Z8h8m2Kn0
Autohotkey1.ahk

Pause::
{
run, Autohotkey2.ahk
ExitApp
}

Autohotkey2.ahk

ScrollLock::
95 :名無しさん@お腹いっぱい。:2008/02/18(月) 00:09:02 ID:WTKVYZXY0
Locks系の挙動は二バイト圏OS環境下では不定だぞ。他のキーに割り当てたほうが無難じゃね?

何がやりたいんだか知らんが、わざわざ2つに分けて行き来しなくても
一個のスクリプトでフラグかなんか立ててスイッチングすればいいんじゃね?
96 :名無しさん@お腹いっぱい。[sage]:2008/02/18(月) 12:29:42 ID:tGp4/4e6P
AHKで、特定のアプリケーションが起動しているときにスクリーンセーバーを
抑制する処理がかけるかとおもってやってみたんですが、実行結果をみたりする
ウインドウを最前面にした状態じゃないと、WM_SYSCOMMANDが拾えないようです。
これはそういう仕様なのでしょうか…

OnMessage(0x112, "WM_SYSCOMMAND") ; WM_SYSCOMMAND
return

WM_SYSCOMMAND(wParam, lParam)
{
OutputDebug SYSCOMMAND w:%wParam% l:%lParam%
if ( wParam = 61760 ) { ; SC_SCREENSAVE
OutputDebug SC_SCREENSAVE received
if ( 判定 ) {
OutputDebug screensaver cancelled
return 1 ; screensaver cancelled
}
}
}
97 :名無しさん@お腹いっぱい。[sage]:2008/02/18(月) 15:21:57 ID:tGp4/4e6P
どうやら、SC_SCREENSAVE はアクティブウインドウだけが
受け取れるようです。別の方法を模索します。
失礼しました。
98 :名無しさん@お腹いっぱい。[sage]:2008/02/18(月) 23:25:28 ID:DgQUWzko0
有難う先生、出来ました。やはりLock系の挙動怪しいです、無効化してみます。
一応メモ。

Autohotkey1.ahkは
Pause::
{
run, Autohotkey1.ahk
ExitApp
}
vkF0:: Send, ]
ScrollLock::return

Autohotkey2.ahkは
ScrollLock::
{
run, Autohotkey2.ahk
ExitApp
}
Pause::return
99 :名無しさん@お腹いっぱい。[sage]:2008/02/18(月) 23:43:54 ID:9kfLohoxP
わざわざ2つのahkファイルに分けてる意味がわからん。
hotkeyコマンド使うだけじゃあかんの?
100 :名無しさん@お腹いっぱい。[sage]:2008/02/19(火) 00:01:25 ID:w7qvM9gV0
まあ、追々洗練されていけばええやろ
まずは目的の成就じゃ
101 :名無しさん@お腹いっぱい。[sage]:2008/02/19(火) 14:13:24 ID:bfqFbnlQ0
自分が最近気に入ってるのはこれ。IMEのワンキーオンオフやつなんだけど、
シングルタップでオフ、ダブルタップでオンになるようにしてあるので、
トグルのようにどっちだっけ?ということもないし、オンにするキーとオフにするキーを
2つ用意しなくてもよいので、102キー等、キー数に限りのある人には便利かも。

~SC79 Up::
IME_chk := A_PriorHotKey = A_ThisHotKey and A_TimeSincePriorHotkey < 300
IME_wnd := DllCall("imm32\ImmGetDefaultIMEWnd", UInt, WinActive("A"), UInt)
DetectHiddenWindows, On
SendMessage, 0x283, 0x006, IME_chk,, ahk_id %IME_wnd%
DetectHiddenWindows, Off
Return
102 :名無しさん@お腹いっぱい。[sage]:2008/02/19(火) 16:14:10 ID:eL27GtwT0
特定のアプリにキーを送らないようにするのってどう書けばいいの?
アクティブじゃなくてもキー監視してるようなアプリにALT押しても伝わらないようにする、みたいな
103 :名無しさん@お腹いっぱい。[sage]:2008/02/19(火) 17:04:27 ID:w7qvM9gV0
ALT押した瞬間にそいつのProcess落として
上がったら再起動みたいなことを考えたけど
騒がしすぎるな
104 :名無しさん@お腹いっぱい。:2008/02/19(火) 19:03:06 ID:Ro3kfoUW0
AutoHotKeyの起動ができなくなりました。

^0::
MsgBox OK!
return

AutoHotkey.iniというファイルに上記コードだけ記述してAutoHotkey.exeを実行すると、

Note: The hotkey +AF4-0:: will not be active because it does not exist in the current keyboard layout.

このようなダイアログが出て起動できません。アドバイス求ム。
105 :名無しさん@お腹いっぱい。:2008/02/21(木) 14:46:40 ID:Oj5PAiTN0
少し教えてください。
AHKで全てのキー入力を受けつけないようにするには、どうすればいいでしょう?
どこかで見たような気がするのですが、失念してしまいまして。。。
106 :名無しさん@お腹いっぱい。[sage]:2008/02/21(木) 14:57:41 ID:Oj5PAiTN0
すいません、BlockInput,On でした
107 :名無しさん@お腹いっぱい。[sage]:2008/02/21(木) 16:38:07 ID:Iioijznk0
clipboad中にある複数行文字列の各行頭に_をつけたいのですが、
RegExReplace(clipboard, "(^|\A)", "$1_")ってやってもうまくいきません。
「$」でも各行の先頭として扱われるはずなんですが・・・
108 :名無しさん@お腹いっぱい。[sage]:2008/02/21(木) 17:09:11 ID:VNWGrxeP0
RegExReplace(clipboard, "\n", "$1_")

根本的解決かは分かりかねます
109 :名無しさん@お腹いっぱい。[sage]:2008/02/21(木) 18:13:01 ID:j1dzQgRf0
>>107
RegExReplace(Clipboard, "m)^", "_")
110 :名無しさん@お腹いっぱい。[sage]:2008/02/21(木) 18:13:26 ID:Kx0P4/xT0
RegExReplace(Clipboard, "(^|\n)([^$])", "$1_$2")
111 :名無しさん@お腹いっぱい。[sage]:2008/02/21(木) 18:17:26 ID:Kx0P4/xT0
げ、リロードしてなかった。なにそれm)なんてあったのか
AHKのおぷすおんかorz
112 :名無しさん@お腹いっぱい。[sage]:2008/02/21(木) 18:50:35 ID:XbxI3LX6P
正規表現で""の間の文字を取得したいのですがどうすればいいでしょうか?
113 :名無しさん@お腹いっぱい。[sage]:2008/02/21(木) 19:08:08 ID:XbxI3LX6P
これだとよく分からないな

RegExReplaceでhtmlファイルから""で挟んであるファイルパスを取得したいのですが
"をエスケープする方法が分かりません、教えてください
114 :名無しさん@お腹いっぱい。[sage]:2008/02/21(木) 19:35:59 ID:VNWGrxeP0
>>20
115 :名無しさん@お腹いっぱい。[sage]:2008/02/21(木) 21:37:15 ID:XbxI3LX6P
>>114
すみませんでした、まさか上にあったとは・・・
116 :名無しさん@お腹いっぱい。[sage]:2008/02/23(土) 02:50:41 ID:I9fxWkUy0
集中して作業してるときに裏で定期的に2chブラウザを更新させたいんですけど
アクティブの時はちゃんと動作するのに非アクティブのときは動作してくれない
#Persistent
SetTimer,OnTimer,180000
return
OnTimer:
DetectHiddenWindows,On
ControlSend,,{F5},jane
return
こう記述して動かしたんですが打開ヒントください
117 :名無しさん@お腹いっぱい。[sage]:2008/02/23(土) 09:33:35 ID:aMzIEKL80
DetectHiddenTextをつかったらどうだろうか
118 :名無しさん@お腹いっぱい。:2008/02/23(土) 12:49:34 ID:BM2S2vTo0
ControlSendはあんまり確実じゃないし、PostMessageで直接送ったほうがいいかも
119 :名無しさん@お腹いっぱい。[sage]:2008/02/23(土) 17:40:17 ID:I9fxWkUy0
#Persistent
SetTimer,OnTimer,180000
return
OnTimer:
PostMessage,0x0100,0x74,,,jane
return
としてみたけど>>116と同じorz
IfWinNotActiveでWinActivate噛ますと動くからキーは送られてるはずだけど
これだとバックグラウンドじゃなくなって作業に集中できない
Sleipnirで試したら非アクティブでも動作したから
Janeがめんどくさいアプリなんだろうか
120 :名無しさん@お腹いっぱい。:2008/02/23(土) 17:54:35 ID:BM2S2vTo0
controlのwhndを指定してないからじゃないの?
121 :名無しさん@お腹いっぱい。[sage]:2008/02/23(土) 18:18:49 ID:iAdFn35I0
俺も以前それやろうとしたけど、非アクティブのままではどうしても無理だったよ
122 :名無しさん@お腹いっぱい。[sage]:2008/02/23(土) 18:41:25 ID:I9fxWkUy0
そっか
janeというかdelphiと相性悪いんかな
ありがとうこれは諦めるしかなさそうだな
123 :名無しさん@お腹いっぱい。[sage]:2008/02/23(土) 18:55:22 ID:2+9m9zE60
0x0100が間違いなだけ
124 :名無しさん@お腹いっぱい。[sage]:2008/02/23(土) 20:27:32 ID:I9fxWkUy0
0x0290にしてみたけどダメだった
これ以上は昨日今日触り始めたにわかには見当がつかない
125 :名無しさん@お腹いっぱい。[sage]:2008/02/23(土) 21:17:01 ID:gYw1NOEI0
もれは「U」でスレ更新にしてんだけど

ControlSend, THogeTextView1, u, ahk_class TMainWnd

これで出来たような気がするよ
126 :名無しさん@お腹いっぱい。[sage]:2008/02/23(土) 21:18:14 ID:gYw1NOEI0
と思ったら最小化してるとダメだった
127 :名無しさん@お腹いっぱい。[sage]:2008/02/23(土) 22:34:41 ID:UVUXjl/U0
SmartGUI Createrなんてこんなのあったんだな。。。
これでGUIの簡単なアプリケーションが簡単に作成できると思う?
128 :名無しさん@お腹いっぱい。[sage]:2008/02/23(土) 22:57:37 ID:UVUXjl/U0
http://www.flib.jp/D800/book854.html?backurl=/news/netrun_prize.html
AutoHotKeyアンオフィシャルガイド

これ読んでみたいと思うのですが パソコンで読むとかなり字が小さく、スクリーンショットとか
見にくいので、購入して本の形で紙媒体で読みたいと思うのですが
これはどうすれば購入できますか?Amazonにもありませんでした。
どこで買えるか、価格等教えて頂けないでしょうか?
129 :名無しさん@お腹いっぱい。[sage]:2008/02/24(日) 01:42:11 ID:6JA246NX0
紙媒体で売られていないかもしれない、という可能性は頭にないの?
130 :名無しさん@お腹いっぱい。[sage]:2008/02/24(日) 01:42:19 ID:2nfJaqtf0
AutoHotKeyのキーワードの強調表示や、自動インデント機能のついたフリーのテキストエディタ
はありませんか?EdVixと言うのを流行らせるページの作者は使用されていらっしゃるようですが
あれはAutoHotKey用のキーワードリストがあらかじめ登録されてないので、1個ずつ登録
しないといけないと思うので、大変そうだから あらかじめAutoHotKeyの文法やキーワードを
内包してあるようなエディタがあれば非常に助かるのですが、皆さんはどのエディタを使って
コードを書いていますか?もし無ければTerapadで頑張るしかないかなぁと思っているのですが・・・。
131 :名無しさん@お腹いっぱい。[sage]:2008/02/24(日) 01:56:24 ID:6jheKtSz0
>>130
「"インストールディレクトリ"\Extras\Editors」以下を参照
それと秀丸
http://lukewarm.s101.xrea.com/test/read.cgi/bbs/1092315194/72-73
132 :名無しさん@お腹いっぱい。[sage]:2008/02/24(日) 02:25:48 ID:2nfJaqtf0
>>131
レスありがとうございます。
\Extras\Editorsの中身のフォルダ名はそのままテキストエディタ名になってるように
見えますが「vimとかLinuxにあるテキストエディタだし・・・」、普通はココにあるテキストエディタ
でしか使えないんですかね?
それを
http://lukewarm.s101.xrea.com/test/read.cgi/bbs/1092315194/72-73
で秀丸でも使えるようにAutoHotKeyでスクリプトを作成されてらっしゃるんですよねぇ?
しかし秀丸はシェアウェアで、5000円弱と結構高い・・・。それと私は>>130

>AutoHotKeyのキーワードの強調表示や、自動インデント機能のついたフリーのテキストエディタ
>はありませんか?

と書かせて頂いた様に、フリーのテキストエディタを使いたいのですが、無理でしょうか?
133 :名無しさん@お腹いっぱい。[sage]:2008/02/24(日) 02:56:49 ID:yh7rF/YE0
>>125
ControlSendrawでうまくいったようないかなかったような
134 :名無しさん@お腹いっぱい。[sage]:2008/02/24(日) 03:22:39 ID:JnW9YY6g0
>132
vim は windows でも使えるし。
というか AutoHotKey 自体が windows 用のソフトなんだから
windows で使えないエディタの Syntax ファイルなんて同梱するはずないだろ。
あと言われたところちゃんと見てねーだろ。
Extras/Editors/Syntax
135 :名無しさん@お腹いっぱい。[sage]:2008/02/24(日) 06:22:30 ID:T2DQ4K+Y0
AHKでスクリーンセーバーの終了を監視したいのですが、どのようにしたらよいでしょう?
スクリーンセーバーのクラス名を調べる方法が分からず、行き詰まっています。
136 :名無しさん@お腹いっぱい。[sage]:2008/02/24(日) 10:07:56 ID:2nfJaqtf0
>>134
あ、VimってWindowsでも使えるんですか!?なるほど。
それから、Syntaxの中は後で見てみます、今からでかけるので・・・。

>>135
スクリーンセーバー起動中にPrintScreenキーでキャプチャ出来ない?
そのキャプチャした画像に対してチェックしてみたらクラス名分からない?
137 :名無しさん@お腹いっぱい。[sage]:2008/02/24(日) 11:23:16 ID:39WYzSwe0
これは久々の大物だぞ
138 :名無しさん@お腹いっぱい。[sage]:2008/02/24(日) 12:10:40 ID:o6C/sd5F0
ワロタ
139 :名無しさん@お腹いっぱい。[sage]:2008/02/24(日) 12:34:52 ID:o6C/sd5F0
>>135
アクティブウインドウのクラスとかを記録し続けるスクリプト書けばいいんじゃない
140 :135:2008/02/24(日) 13:17:57 ID:ApIFf8DK0
>>136
スクリーンのキャプチャはできるのですが、それを利用してクラス名を調べる方法がわかりませんでした。
>>139
アドバイスとても参考になりました。なのですが、以下のスクリプトではタイトル、クラスともブランクで、
idは0x0となってしまい、やはり同定できませんでした。

#Persistent
DetectHiddenWindows, On
SetTimer, CheckClass, 1000
Return

CheckClass:
WinGetActiveTitle, title
WinGetClass, class, A
id := WinExist("A")
FileAppend, %title% %class% %id%`n, list.txt
Return
141 :名無しさん@お腹いっぱい。[sage]:2008/02/24(日) 13:38:54 ID:o6C/sd5F0
うちで>>140動かしていくつか見てみたら
3D テキスト D3DSaverWndClass 0x2e0628
3D パイプ D3DSaverWndClass 0x6504be
Screen Saver WindowsScreenSaverClass 0x1e067e
ブランク スクリーン セーバー ブランク スクリーン セーバー 0x6f04be
とか記録できたよ
142 :名無しさん@お腹いっぱい。[sage]:2008/02/24(日) 14:14:01 ID:KTL9WkTR0
>>141
情報ありがとうございます。
そうすると、当方の環境の問題のようですね。
もうすこし調べてみます。
ありがとうございました。
143 :名無しさん@お腹いっぱい。:2008/02/24(日) 15:00:24 ID:VNi/LdKj0
>>132
秀丸用強調定義の変換スクリプト作った者だが、
マジレスするとExtras/Editors/Syntax にシンタックスリストのデータがあるので、
それを加工して自分の好きなエディタで使えるように強調表示用ファイルを作ればよい。

今からエディタ選ぶならEmEditorFreeが面倒なくていいんじゃね?
Extras/Editors に EmEditor用定義入ってるし。Free版で使えるのかは知らないが。
144 :名無しさん@お腹いっぱい。[sage]:2008/02/24(日) 17:12:00 ID:2nfJaqtf0
>>143
お疲れ様です!
Syntaxの中に確かに色々ありますねぇ・・・。なるほど・・・っていってもどうやって強調表示用
のファイルを作るのか私には分かりませんけど、例えばこれを加工すればTerapadでも
強調表示出来たりするんですか?

EmEditorFreeをとりあえず試してみます。
AutoHotKey・・・もっと普及してれば色々なエディタがデフォルトで対応してくれたりするのかな?
例えばVBとかHTMLとかは大体のエディタで対応してくれてるじゃないですか?
DOSのBatとか・・・。
145 :名無しさん@お腹いっぱい。[sage]:2008/02/24(日) 17:57:55 ID:MLcE6mEcP
んなグダグダ言ってるくらいなら自分で作って配布すりゃあいいじゃん
146 :名無しさん@お腹いっぱい。[sage]:2008/02/24(日) 17:59:16 ID:2nfJaqtf0
良いの見つけました。Notepad++って言うエディタです。
これならフリーで、しかも
AutoHotkey\Extras\Editors\Notepad++\Run this to install syntax file for Notepad++.ahk
ファイルを実行すれば簡単にインストールまでしてくれて、すぐ使えてイイ!
エディタが無くて困っている人はとりあえずこれがいいんでは?
ただ入力補完まではしてくれないみたいなのが、ちょっと残念・・・。
IfとかLoopとかで改行したら自動的に1個インデントしてくれて、 } で自動的に1個インデントを
削除するとか、そういった機能は無いみたい。惜しいですねぇ・・・。
147 :名無しさん@お腹いっぱい。[sage]:2008/02/24(日) 18:11:43 ID:MLcE6mEcP
見つけましたってw
148 :名無しさん@お腹いっぱい。[sage]:2008/02/24(日) 18:23:28 ID:2vAXBKF20
>>146
プロボクサー相手に『このバンデージの巻き方、ステキでしょ?』ってはしゃいでる様で観ている方がつらい。

釣りじゃないなら(釣りでも)カンベンしてくれ
149 :名無しさん@お腹いっぱい。[sage]:2008/02/24(日) 19:09:37 ID:/p5mKAAI0
Notepad++いいね、ちょっと使ってみよう
>>146
150 :名無しさん@お腹いっぱい。[sage]:2008/02/24(日) 19:24:38 ID:plIb52B50
なんでjaneは非アクティブだと動かないんだ
151 :名無しさん@お腹いっぱい。[sage]:2008/02/24(日) 20:14:37 ID:2nfJaqtf0
>>147
そうね、ExtrasのEditorの中にあるもんね。そこから調べて言ったのは言うまでもありません。

>>148
それは「ココの住人は皆プロ(少なくても私よりは)なんだから、そのぐらいとっくに知ってるし、
代替のもっといいエディタを知っている」とかそういう意味ですか?
別に釣りじゃないですよ。 >>149とかいいねって言ってくれてるし、こういう情報を書き込む事で
有益だと感じる人もいるのでは?貴方にとっては有益でなくても。
152 :名無しさん@お腹いっぱい。[sage]:2008/02/24(日) 20:36:00 ID:uHTMnN4t0
meadow(Emacs)やxyzzyに、akh-modeをインスコするのがいいんでない?
キーワード強調だけじゃなくて、インデントや補完も効いてるよ
ちょっと挙動が怪しいときもあるけどね

つうか、本体に設定が同梱されてるんだから、
それを見つけたとかあんまり大げさに言わないでくれ
ってことでないの?
質問する前に説明書くらい読めよって
153 :名無しさん@お腹いっぱい。[sage]:2008/02/24(日) 20:40:50 ID:uHTMnN4t0
×akh-mode
〇ahk-mode
で、Emacsのは本体同梱のよりも、
ググったら出てくるwebのが新しかったんで、そっちがいいかも
154 :名無しさん@お腹いっぱい。[sage]:2008/02/24(日) 20:57:20 ID:Cwx7cYds0
>>146=149
155 :名無しさん@お腹いっぱい。[sage]:2008/02/24(日) 21:37:27 ID:VNi/LdKj0
まぁ見ればわかるようになっているものを、さも「自分が発見しました!」てな感じで書込んだら
回りは萎えるわな。Notepad++ってそれなりに有名なエディタだし。

エディタ側で用意するのはメジャーである程度枯れた言語でしょ
AHKは開発途上で関数やシンタックスも逐次追加されてってるから追っかけて対応するのは大変
自分もそう思ったから 強調ファイルの配布ではなく、変換スクリプトにしたんだけど。


>>153
>ahk-mode
おお、いつのまにそんなものが。xyzzyでがんばってる人もいるんだな。
何となくあっち界隈の人はahkみたいな言語体形はpgrしてるんだろうなって偏見があった
156 :名無しさん@お腹いっぱい。[sage]:2008/02/24(日) 23:18:53 ID:eDmFu+2K0
unix界隈で有名なprocmailもpgrしてあげて。
157 :名無しさん@お腹いっぱい。[sage]:2008/02/25(月) 00:03:45 ID:39WYzSwe0
AHKには#NoTrayIconという素晴らしいコマンドがあるのを発見しちゃいました!
なんと、これを使うとタスクトレイにあるアイコンが表示されなくなるのです(びっくり!)
まだ知らない人も多いと思うので、皆さんも試してみてはいかが?
私はこれで浮いた時間をコスメに使って彼のハートをげっちゅです!
158 :名無しさん@お腹いっぱい。[sage]:2008/02/25(月) 00:43:00 ID:w28rGXGJ0
あっそ
159 :名無しさん@お腹いっぱい。[sage]:2008/02/25(月) 00:59:30 ID:CkSp6l1c0
>>158
わーい、あっさり釣れちゃったw
160 :名無しさん@お腹いっぱい。[sage]:2008/02/25(月) 01:24:59 ID:CR8nTVZC0
面白いと思ったんだろうな…
161 :名無しさん@お腹いっぱい。[sage]:2008/02/25(月) 01:37:56 ID:cH268g130
すぐ弄れなくなって逆に不便
162 :名無しさん@お腹いっぱい。[sage]:2008/02/25(月) 02:12:01 ID:u9rJ9FnG0
わがままな私を許したまえ・・・・

Notepad++もダメですた。。。
立ち上げるたびにいちいちAutoHotKeyモードにマウスでセットしないといけないし、
なんか使いにくい・・ス・・・。
Terapadでキーワード強調や自動インデント利いてくれれば最高なんだけど
皆さんがAHKスクリプトを書くのに愛用しているエディタとか、紹介して下さったりは・・・しないですよねぇ・・・?
163 :名無しさん@お腹いっぱい。[sage]:2008/02/25(月) 02:37:33 ID:c6xAHJsD0
xyzzyでahk-mode使って書いてるよ
>>152でも書いたけど、強調だけじゃなくてインデントや補完もしてくれるよ
けど、インデントがおかしくなったりもするんで、
試してないけどmeadow(Emacs)もどうぞ
xyzzyに移植した人がベースにしたのよりバージョンが進んでるから、
もしかしたら解決してるかも

もし導入するなら、wikiがあるから読んでみて
164 :名無しさん@お腹いっぱい。[sage]:2008/02/25(月) 03:28:17 ID:m5sVBzv/0
notepad++使ったことないけど
普通ファイル拡張子に対応してモード切りかえてくれるみたいな
機能あるんじゃないの?
そのくらい自力で設定できないとvimもemacsも使えないと思うけど。
165 :名無しさん@お腹いっぱい。[sage]:2008/02/25(月) 10:56:15 ID:YFbRMEPB0
>>162
その嫌味ったらしい文章いい加減にせーよ
もし自覚無しに今までのような文を書いていたとするなら正直、性格に大きな問題があると思う
わざとやってるならもうシラネ
166 :名無しさん@お腹いっぱい。[sage]:2008/02/25(月) 11:10:53 ID:6u3azxFT0
>>162
自分で道を切り開く気概がないのなら、おとなしく金を出して秀丸かEmのシェア版をつかっとけ。
気概があるのなら>>131のスクリプトをTeraPad用に書き換えてうぷしたら結構な人数から感謝されると思うが。
167 :名無しさん@お腹いっぱい。[sage]:2008/02/25(月) 11:27:24 ID:Ed9FXoJZ0
ひどいのが湧いてるんだな
168 :名無しさん@お腹いっぱい。[sage]:2008/02/25(月) 12:36:04 ID:cV8w8sra0
だから揶揄したつもりだったのに
169 :名無しさん@お腹いっぱい。[sage]:2008/02/25(月) 14:30:41 ID:3LV0fXQU0
エディタの話題自体は悪くないと思うし、他の人の参考になるかもしれんから一応レスするが
いいかげんクレクレの姿勢はやめてんか('A`)

今見てみたけど、サクラや寺の.kwdファイルって1行1ワードの単純表記じゃん。
これだったら Extras/Editors/Syntax/*.txt をほとんど無加工でkwd転用できんじゃねーの?
(寺には任意文字列の強調指定機能自体は存在しない
が、プリセット済言語のキーワード編集は可能なので他の言語枠潰せばOK)

入力補完の形式も同じ、サクラや秀丸ならそのままシンタックスファイル突っ込めば補完してくれる。
サクラや寺なら補完タンも使える。
インデントは、C言語風のインデントとか適当に指定しておけばそれっぽい動作になる。(寺でのやり方は知らん)

以上、頼むから人に聞く前にちっとは調べてくれよ。
170 :名無しさん@お腹いっぱい。[sage]:2008/02/25(月) 15:50:36 ID:I5MAoWVB0
しかしほんとに AutoHotKey 使えてるんだろうか、この人。
171 :名無しさん@お腹いっぱい。[sage]:2008/02/25(月) 16:13:03 ID:Ed9FXoJZ0
>>170がいいこと言った
172 :名無しさん@お腹いっぱい。[sage]:2008/02/25(月) 18:01:24 ID:hdl/wsYC0
Janeをバックグラウンドで操作できないって人
AIRAってソフト使うといいよ.NET製だけど
Jane専用のAIRA Jってのもある
173 :名無しさん@お腹いっぱい。[sage]:2008/02/26(火) 07:16:30 ID:mku3zxtt0
質問です。
Menu,m,show
でメニュー出ている間、そのスクリプトは完全に停止してるんですよね。
それが嫌なら別スクリプトでメニュー出せってことですよね。
174 :名無しさん@お腹いっぱい。[sage]:2008/02/28(木) 02:18:21 ID:YvTJFwHG0
詳しい方、教えてください。
ジョイスティックの接続確認をしたく、以下のようなスクリプトを書いてみました。

1:: Msgbox, % GetKeyState("JoyName")

しかしこのスクリプトではジョイスティック抜去後もジョイスティック名が返ってしまいます。
接続前、あるいはスクリプト再起動後は(期待通りに)ブランクとなります。
しかし最終的には常駐スクリプト内のタイマーで接続確認をしたいので
できればスクリプトの再起動は行いたくないのですが,
他によい方法はないものでしょうか。
175 :名無しさん@お腹いっぱい。[sage]:2008/02/28(木) 14:43:16 ID:PhP4W87s0
「TPanel」というコントロール上のテキストを取得したいのですが、

ControlGetText,var,TPanel,A

とやっても、ErrorLevelは0で成功していますが、テキストは取得できませんでした。
何か他に方法はないでしょうか?
176 :名無しさん@お腹いっぱい。[sage]:2008/02/28(木) 14:43:26 ID:7hkAKIl30
根本解決じゃないけど、ステート取得部分だけを別スクリプトにするとか。
177 :名無しさん@お腹いっぱい。[sage]:2008/02/28(木) 17:40:04 ID:EaHOYdX80
>>174
#persistent
settimer, timer
maxNumDev:=DllCall("winmm\joyGetNumDevs") ;サポートするジョイスティックのデバイス数

timer:
AllJoyNames=
loop, %maxNumDev%{
JoyName=%a_index%JoyName
AllJoyNames:=AllJoyNames . a_index . GetKeyState(JoyName) . "`n"
DllCall("winmm\joyReleaseCapture", UINT, a_index-1) ;キャプチャをリリースするジョイスティックのIDを指定
}
tooltip, %AllJoyNames%
return

接続されるジョイスティックの数わかってたらmaxNumDevは決めうちした方が良いかも
178 :名無しさん@お腹いっぱい。[sage]:2008/02/28(木) 18:40:48 ID:EaHOYdX80
>>174
キャプチャリリースしたくない場合は
#persistent
VarSetCapacity(ji, 16, 0)
joyNum=1 ;何個目のジョイスティックをチェックするか指定
settimer, timer
return

timer:
mmresult := DllCall("winmm\joyGetPos", UInt, joyNum-1, str, ji) ;ここで指定するジョイスティックのIDは0から始まるので注意
KeyName=%joyNum%JoyName
JoyName:=GetKeyState(KeyName)
JoyName:=(!mmresult) ? JoyName:"" ;mmresultが0の場合No Errorなので、それで判断する。
tooltip, mmresult=%mmresult% JoyName=%JoyName%
return

見たいに自分で名前管理するしかないかも。
179 :名無しさん@お腹いっぱい。[sage]:2008/02/28(木) 18:44:19 ID:EaHOYdX80
補足:>>177-178は2kでしかテストしてないので他だとどうなるかわからん。
180 :名無しさん@お腹いっぱい。[sage]:2008/02/29(金) 12:38:25 ID:9/5fEks90
タスクトレイのAHKのアイコンからバルーンヘルプ出してくれる機能って無いですか?
181 :名無しさん@お腹いっぱい。[sage]:2008/02/29(金) 14:19:22 ID:mWVpkLJp0
xyzzyというエディタで、右クリック+下方向ドラッグのマウスジェスチャーをしたとき、
Ctrl+w を送信して当該タブを閉じたいのですが、どうすればいいでしょうか?
182 :名無しさん@お腹いっぱい。[sage]:2008/02/29(金) 14:49:23 ID:amtFt0EP0
RButtonでMouseGetPosとって
放されたときとの差分が閾値を越えたらSend
183 :名無しさん@お腹いっぱい。[sage]:2008/02/29(金) 16:48:46 ID:mWVpkLJp0
>>182
ありがとうございます。
頑張って作ってみたのですが、うまく動作しません><

~RButton::
WinGetTitle, Title, A
StringGetPos, pos, Title, xyzzy
if(pos = 0) {
MouseGetPos, x1, y1
Loop {
GetKeyState, stat, RButton
if(stat = "U") {
MouseGetPos, x2, y2
dy := y2 - y1
if dy > 20
send, ^w
Break
}
}
}
return
184 :名無しさん@お腹いっぱい。[sage]:2008/02/29(金) 20:12:38 ID:u6+juc6r0
馬鹿みたいな質問で悪いんだけど、
a:: send,F5
ってしたい場合、どうすればファンクションキーのF5にできるの?
185 :名無しさん@お腹いっぱい。[sage]:2008/02/29(金) 20:16:08 ID:CbNqfYyN0
>>184
a:: send,{F5}
186 :名無しさん@お腹いっぱい。[sage]:2008/03/01(土) 00:26:25 ID:EIt1A+310
JANE擬似バックグラウンド操作悪足掻き

#Persistent
#WinActivateForce
SetTimer,OnTimer,90000
return
OnTimer:
IfWinActive,Jane
{
BlockInput,On
ControlSend,,{F5}
BlockInput,Off
}
Else
{
BlockInput,On
WinGet,ID,,A
WinSet,AlwaysOnTop,ON,ahk_id %ID%
WinActivate,Jane
ControlSend,,{F5},Jane
WinActivate,ahk_id %ID%
WinSet,AlwaysOnTop,OFF,ahk_id %ID%
BlockInput,Off
}
return

自分なりに頑張ってみたけどいい方法あったら情報求む!
187 :名無しさん@お腹いっぱい。[sage]:2008/03/01(土) 00:34:59 ID:ZNinU2520
>>185
ありがとうございます
188 :名無しさん@お腹いっぱい。[sage]:2008/03/01(土) 07:53:26 ID:YXKCq/m60
janeバックグラウンドでもControlSendRawで動いたけどなあ
俺だけか
189 :名無しさん@お腹いっぱい。[sage]:2008/03/01(土) 14:14:15 ID:EIt1A+310
動きません
190 :名無しさん@お腹いっぱい。[sage]:2008/03/01(土) 15:18:39 ID:+yMSyrKJ0
JaneDoe Viewでしか確認してないが、PostMessageでちゃんと操作できる。
タスクトレイに入ってるいる場合は、DetectHiddenWindows, Onで。
ウィンドウタイトルは適当に変更。

PostMessage, 273, 58, 0, , JaneDoe ; タブを閉じる
PostMessage, 273, 82, 0, , JaneDoe ; スレ新着チェック
PostMessage, 273, 29, 0, , JaneDoe ; スレ一覧更新
PostMessage, 273, 81, 0, , JaneDoe ; 新着までスクロール
PostMessage, 273, 133, 0, , JaneDoe ; 更新チェック
PostMessage, 273, 205, 0, , JaneDoe ; 次のタブ
PostMessage, 273, 206, 0, , JaneDoe ; 前のタブ
191 :名無しさん@お腹いっぱい。[sage]:2008/03/01(土) 15:23:16 ID:+yMSyrKJ0
追記。
メニューは表示しておかないとダメだった。
192 :名無しさん@お腹いっぱい。[sage]:2008/03/01(土) 17:44:24 ID:EIt1A+310
>>190
おお。
これは凄いViewで非アクディブ時に動作した
メニューのコマンドIDの調べ方が見つからなかったから
教えてもらった操作以外できない無能な自分
193 :名無しさん@お腹いっぱい。[sage]:2008/03/01(土) 19:33:31 ID:EIt1A+310
jane styleではこの技使えないっぽいね
コマンドIDがない?
194 :名無しさん@お腹いっぱい。[sage]:2008/03/01(土) 20:03:02 ID:MsKw54Sp0
コマンドIDが違うんだろ。
195 :名無しさん@お腹いっぱい。[sage]:2008/03/01(土) 20:07:41 ID:EIt1A+310
窓コンなど使ったんだけど調べることができなかった
どういうふうに調べたらいいんだい?
196 :名無しさん@お腹いっぱい。[sage]:2008/03/01(土) 20:30:28 ID:4ZLR0WrH0
StyleはViewと違うコンポーネント使ってるから無理だってさ
197 :名無しさん@お腹いっぱい。[sage]:2008/03/01(土) 20:31:51 ID:vZzloCuJ0
でもいい加減Jane以外のブラウザ出てきても良いと思うんだがなぁ
198 :名無しさん@お腹いっぱい。[sage]:2008/03/01(土) 20:47:06 ID:EIt1A+310
>>196
thx。無理なのか残念
199 :名無しさん@お腹いっぱい。[sage]:2008/03/01(土) 21:50:09 ID:ymHLVwiU0
生JANEでもむりぽ
200 :名無しさん@お腹いっぱい。[sage]:2008/03/02(日) 20:11:12 ID:p3zuqVec0
ControlGetText,dat,TMemo1,Jane Doe Style
IfInString,dat,dat落ち
{
ControlSend,,^w,Jane Doe Style
}
ControlSend,,^r,Jane Doe Style
201 :名無しさん@お腹いっぱい。[sage]:2008/03/02(日) 21:16:36 ID:noZ5oKoh0
ある非アクティブなウィンドウを左クリックでアクティブにした瞬間の
カーソル位置を取得したいのですが、何か方法ありませんでしょうか?

#IfWinActive ahk_class xxxx
Lbutton::MouseGetPos,Xpos,Ypos
return

これだと一度アクティブにしてからクリックしないと取れないんですよね…
202 :名無しさん@お腹いっぱい。[sage]:2008/03/02(日) 23:28:34 ID:+5/E1A/w0
~Lbutton::
MouseGetPos,Xpos,Ypos
IfWinActive, ahk_class xxxx
{
msgbox,x=%xpos% y=%ypos%
}
return
203 :名無しさん@お腹いっぱい。[sage]:2008/03/03(月) 17:33:36 ID:RiQhmL4t0
>>202 おお ありがとうございますっ!
204 :201、203[sage]:2008/03/03(月) 18:55:40 ID:RiQhmL4t0
すみません、もうひとつついでに質問させてくださいー
非アクティブなウィンドウを左クリックしてアクティブにした時、
左ボタンを押した瞬間(ボタンを離す前)のウィンドウの相対位置を取れないものでしょうか?
もしくは「ドラッグし始めの座標」とか…

ボタンを押し込んだ場所から多少離れた場所にドラッグしてボタンを離しても、
ボタンを押し込んだ場所をクリックした事にする・・・という感じのスクリプトを組もうと思ってまして、
その際ウィンドウバー部分は除外する、という風にしたいのです。
205 :名無しさん@お腹いっぱい。[sage]:2008/03/03(月) 19:34:27 ID:ar9/AEtf0
いまいち文意が取れない
206 :名無しさん@お腹いっぱい。[sage]:2008/03/03(月) 20:02:02 ID:VWTaDQFw0
~Lbutton up:: でもう一度MouseGetPosして計算するなり、MouseClickでポジション戻してやるなり
すればいいんじゃね?
207 :名無しさん@お腹いっぱい。[sage]:2008/03/03(月) 20:15:43 ID:RiQhmL4t0
>>205
スンマセン

~Lbutton::
MouseGetPos,XposA,YposA
return
#IfWinActive ahk_class xxxx
{
  ~Lbutton up::
    MouseGetPos,XposB,YposB
    if ( Abs(XposA-XposB) <= 100 ) && ( Abs(YposA-YposB) <= 100 )
    {
      MouseClick,Left,XposA,YposA,,0
;      Msgbox 0,,IN A1=%XposA%,%YposA% B1=%XposB%,%YposB%
    }
    else
    {
;      Msgbox 0,,B-OUT A=%XposA%,%YposA% B=%XposB%,%YposB%
    }
  return
}

こんな感じでボタンを押しこんだ場所と離す場所の差分を取って
許容範囲内だったら押し込んだ場所をシングルクリックさせます。
しかしその際、非アクティブのウィンドウ(class xxxx)を左クリックでアクティブ化すると
XposA・YposAで取れる座標がスクリーン左上からの絶対座標になってしまって…
このXposA・YposAをウィンドウ(class xxxx)の相対座標値で取れませんでしょうか?

現在はCoordMode,Mouse,Screenで絶対座標値のみにして処理するようにしてるんですが、
これだとウィンドウ内の特定位置を除外、という風に出来ないのでどうにかならないものかと…
208 :名無しさん@お腹いっぱい。[sage]:2008/03/03(月) 21:08:19 ID:T5eoaUjL0
ちょっとごめんね
ウインドウのペイン分割のスプリッタてあるじゃない
あれをキーボードで自由に動かすってのはAHKでできるのかな?
スプリッタのコントロール指定してメッセージ?送ればいけるもんなのかな
209 :名無しさん@お腹いっぱい。[sage]:2008/03/04(火) 12:57:52 ID:8GxbdjTU0
すいません。
AutoHotkeyを流行らせるページ でまだまだ勉強中ですが、
MiddleClickのSingleClick、DoubleClick、TripleClickで動作を変えたいのですが、
方法がわかりません。
ヒントで良いので何か助言いただけないでしょうか?

ちなみに現状はSingleのみ変更できてる状況で
#IfWinActive ahk_class hoge
{
MButton::F1
}
210 :名無しさん@お腹いっぱい。[sage]:2008/03/04(火) 13:36:43 ID:aEuZxla60
つ 多重クリック関数サンプル
http://d.hatena.ne.jp/eamat/20051004/p2
211 :209[sage]:2008/03/04(火) 14:59:06 ID:8GxbdjTU0
>>210
うわ。そのままですね。
ありがとうございました。
思い通りの動作ができました。
212 :名無しさん@お腹いっぱい。:2008/03/05(水) 09:24:33 ID:b/T8K1QR0
以下のコマンドで空ディレクトリが削除できるはずなのですが、何故かできません。
FileRemoveDir, ディレクトリ名, 0
別プロセスがひっかかってる可能性を考慮して、ログオンおよび再起動直後にもやってみましたが、
やはりダメでした。いったい何が問題なのか、ご意見下さい。
213 :名無しさん@お腹いっぱい。[sage]:2008/03/05(水) 09:39:20 ID:T67eAJgT0
ControlSendでSendMode Playのように送ることはできないのでしょうか?
214 :名無しさん@お腹いっぱい。[sage]:2008/03/05(水) 10:27:41 ID:plxDEGkd0
>>212
何から実行してる?
ファイラーからならそのファイラーが作業ディルとしてつかんでたり
AHKに作業DIRとして送られてるかもよ
215 :名無しさん@お腹いっぱい。[sage]:2008/03/05(水) 11:03:28 ID:pPxF/FYA0
対象フォルダが日本語でダメ文字で引っかかってるとかってオチじゃないよな?
もしくは制限ユーザーログオンで削除権のないフォルダ消そうとしてるとか
216 :212[sage]:2008/03/05(水) 11:39:38 ID:NmUtjMzI0
"FileRemoveDir, ディレクトリ名, 1"とすると削除できることが分かりました。
どうもディレクトリ内のファイル/サブディレクトリの有無の判断ができていないようです。
なのでそれを明示的に判断できればいいと思うのですが、どうやればいいのか。。。

>>214
消去したいディレクトリは絶対パスで与えています。
また上述のように、無条件削除の場合は実行可能でした。
なのでパス指定や作業ディレクトリの件は問題ないと思うのですが。
>>215
アカウントは管理者権限です。
消去したいディレクトリは英数字のみでスペースは含まれていませんが、ピリオドが入っています。
しかし上述のように無条件削除の場合は実行可能ですので、
AHKはディレクトリとして判断していると思います。
217 :212[sage]:2008/03/05(水) 11:52:07 ID:NmUtjMzI0
>>216
FileRemoveDir, ディレクトリ名, 0
Msgbox, %ErrorLevel%
とすると、エラーレベルは1が返ってくるので、やはり内容物の判断ができていないようです。
218 :名無しさん@お腹いっぱい。[sage]:2008/03/05(水) 13:08:14 ID:UFI/YkYK0
うちではちゃんと動作するけどなぁ
219 :名無しさん@お腹いっぱい。[sage]:2008/03/05(水) 13:35:00 ID:NmUtjMzI0
212です。解決しました。
実はスクリプトの上流で、自分自身をSetWorkingDirしており、それがロックしていました。
複雑なスクリプトではないのですが、ディレクトリ内ファイルのLoopに慣れておらず見落としていました。
大変おさわがせしました。
ありがとうございました。
220 :名無しさん@お腹いっぱい。[sage]:2008/03/05(水) 18:01:56 ID:8AGRNr8B0
> スクリプトの上流で
もうね、あほk(ry
221 :名無しさん@お腹いっぱい。[sage]:2008/03/06(木) 00:46:00 ID:u1Cz17qHO
PostMessageの引数msg、wparam、lparamの値はどう調べて設定すればいいのでしょうか?

このスレのログを見ましたが、さっぱり分かりません。
222 :名無しさん@お腹いっぱい。[sage]:2008/03/06(木) 01:03:44 ID:QqXQZBLy0
ttp://technet.microsoft.com/ja-jp/magazine/cc194395.aspx
なんかMSのサイトに載ってた
223 :名無しさん@お腹いっぱい。[sage]:2008/03/06(木) 01:27:38 ID:Xmj7hVZD0
>>221
流行らせるページのリファレンス見れ、参考になりそうなサイトのリンクもある
224 :名無しさん@お腹いっぱい。[sage]:2008/03/06(木) 01:35:25 ID:xNYWdmgs0
IntelのGraphics Controllerの明るさとかのスライドバーを操作したいんだけど
矢印キーだと1づつしか動かせないしPgDnは移動しすぎだしで10刻みでやりたいんだけど
Loop:10とかやってみると妙にゆっくりしてるし
横の数値をControlGetTextしてポッチの位置を予想してMouseClickDragさせると
キー操作より早いけどなんかしっくりこない
225 :名無しさん@お腹いっぱい。:2008/03/06(木) 08:54:13 ID:BV4oMbN/0
ahkのexeを元のテキストファイルに戻すにはどうしたらいいですか?
226 :名無しさん@お腹いっぱい。[sage]:2008/03/06(木) 12:04:27 ID:lRZgq2Fj0
>>223
それでもわからないです。

アクティブでないソフトにキー連打を投げようと思っているのですが、
とりあえず、1つ投げようと思い、
PostMessage,0x0100,52,0, ,ok.txt - メモ帳 ;0x0100 = WM_KEYDOWN 52 = Rキー

こう書きましたが、動作しませんでした。

どうすればできるでしょうか?
227 :名無しさん@お腹いっぱい。[sage]:2008/03/06(木) 16:35:44 ID:xNYWdmgs0
>>225
公式にあるますよ
Other DownloadsのとこのScript Decompiler
228 :名無しさん@お腹いっぱい。[sage]:2008/03/06(木) 17:22:40 ID:BV4oMbN/0
>>227
ありがとうございます、そのものずばりがありましたね。
229 :名無しさん@お腹いっぱい。:2008/03/08(土) 00:04:58 ID:xH0DTZtbO
Send,{a DOWN}
Sleep,2000
Send,{a UP}
こう書いたのですが、aが押されません。
どうすればできるでしょうか?
230 :名無しさん@お腹いっぱい。[sage]:2008/03/08(土) 00:56:43 ID:DtPLQhIDP
Send,a
231 :名無しさん@お腹いっぱい。[sage]:2008/03/08(土) 01:10:49 ID:vkiW+A4s0
マウスカーソル直下のクラスにキーを送るには何を使えば良いんですか?
232 :名無しさん@お腹いっぱい。[sage]:2008/03/08(土) 03:52:22 ID:C49QZ/eM0
まずマウスカーソル直下のクラスを取得して、その取得したクラスに向けてキー入力を送信すれば良いんじゃないでしょうか。
233 :名無しさん@お腹いっぱい。:2008/03/08(土) 07:37:52 ID:xH0DTZtbO
>>230
あー、いや、押しっぱなしにしたいんです
234 :名無しさん@お腹いっぱい。[sage]:2008/03/08(土) 07:42:01 ID:DtPLQhIDP
何のために?
押しっぱなしにしてもキーリピートは発生しないから一回押下するのと変わらないはずだよね?
235 :名無しさん@お腹いっぱい。[sage]:2008/03/08(土) 08:11:16 ID:xH0DTZtbO
>>234
キーリピート発生するものだと・・・
じゃあ高速でa連打してるようにするしかないか。

ただ単にShift+a-zを楽にしたかったのですが、諦めます。
236 :名無しさん@お腹いっぱい。[sage]:2008/03/08(土) 09:35:30 ID:1dCsOj/k0
やりたいのはキャプスロックなの?
237 :名無しさん@お腹いっぱい。[sage]:2008/03/08(土) 09:46:12 ID:gdlcsZFD0
どなたか>>226をお願いします。
238 :名無しさん@お腹いっぱい。[sage]:2008/03/08(土) 16:32:59 ID:sRcY2mlL0
>>237
メモ帳にRなんか連打して何がしたいんだ
そもそもRなんてショートカットキーあるか
動かないのもしょうがないだろ
テキスト入力したいならコマンドが違う
239 :名無しさん@お腹いっぱい。[sage]:2008/03/08(土) 17:15:19 ID:fACAe+Ks0
>>238
なにがしたいんだって、それは練習作業の「たとえば」の部分だろ。
おまえはツッコミ処が違う。

ただ、>>237みたいに、初回に書き込んだ後、なにも経過を書かず、
アンカーだけで督促するようなゆとりには、アドバイスなんかしたくないが
240 :名無しさん@お腹いっぱい。[sage]:2008/03/08(土) 17:44:40 ID:gdlcsZFD0
>>239
ゆとりみたいな催促ですみません。
書く前まではあまり進展がなかったのですが、
入力するキーを変えたり、キーコードをVK_Rなどにしたり、メモ帳以外のソフトに投げてみたり、
WM_CHARAで投げてみたり、KEYUPを追加してみたり、SendMessageで投げてみたり。

少なくとも上のことはしました。
でも反応がないです。
他に試すものはありますか?
241 :名無しさん@お腹いっぱい。[sage]:2008/03/08(土) 17:50:30 ID:ipRVXXHT0
公式が落ちててDLできないや
242 :名無しさん@お腹いっぱい。[sage]:2008/03/08(土) 18:02:45 ID:2YOSdkCz0
>>240
何がしたいの?具体的にやりたいこと書いたほうがいいよ。
243 :名無しさん@お腹いっぱい。[sage]:2008/03/08(土) 21:39:03 ID:pv+wG3tD0
Oblivionってキーカスタマイズできないの?
不便すぎて死ぬ。
244 :名無しさん@お腹いっぱい。:2008/03/08(土) 22:15:46 ID:mQS6JGYG0
>>242
>アクティブでないソフトにキー連打を投げようと思っているのですが、
そっくりそのままの意味ですが同じボタンを約1~5万回押さなければならず、
普通にSendで送ってもいいのですがやってる時間がもったいないので、バックグラウンドで放置して投げようかと思っていた次第です。
245 :名無しさん@お腹いっぱい。[sage]:2008/03/08(土) 22:19:12 ID:fACAe+Ks0
>>244
「具体的に」
246 :名無しさん@お腹いっぱい。[sage]:2008/03/08(土) 22:35:47 ID:TbcOcXMf0
>>116あたりからの流れ見りゃいいんじゃねぇの?
247 :名無しさん@お腹いっぱい。[sage]:2008/03/09(日) 00:15:32 ID:vy5jug8M0
非アクティブウィンドウに Postするサンプルならホイールリダイレクトあたり探せば出てくるんじゃね?
248 :名無しさん@お腹いっぱい。[sage]:2008/03/09(日) 04:30:03 ID:/EsSZJU/0
>>244
キーリピートならループ処理じゃね?
Loop, 50000
Send, a
249 :名無しさん@お腹いっぱい。[sage]:2008/03/09(日) 05:36:33 ID:k1HRQwMn0
何がしたいのなんて関係なくね?
要はできるかできないかだけ
教えてやればいい
250 :名無しさん@お腹いっぱい。[sage]:2008/03/09(日) 10:35:35 ID:xgksTwcV0
>>249
ソフトによってキーメッセージの受け取り方が違ったりすることはザラだし、
質問者が物凄い効率の悪い方法でやろうとしていて、
その効率の悪い方法について聞いてたりすることもあったりするから、
目的をはっきりさせた上で、自分が試したことを書くってのが答えやすい質問なんじゃない?

お望みのことはこれでできるけど応用は勝手にやっておくれよ
PostMessage, 0x100, 0x41, 0, Edit1, ahk_class Notepad
251 :名無しさん@お腹いっぱい。[sage]:2008/03/09(日) 12:54:57 ID:4SvVAdgeO
ゲームを操作しながら他の作業ができるようにスクリプト組めますか?
また、どの関数使えばいけますか?

ControlSendは動いてくれませんでした。
252 :名無しさん@お腹いっぱい。[sage]:2008/03/10(月) 03:41:18 ID:BEWopslV0
あるウィンドウで任意のキーが押されたとき、常に特定のエディットにフォーカスして
押されたとおりのキーを送りたいのですが、どうするのが上手い書き方でしょうか?
今のところ、↓のように全部のキーを書く方法しかわかりませんでした。

#IfWinActive HogeHoge
HogeSendKey(x)
{
ControlFocus, Edit1
Send, %x%
}
*a:: HogeSendKey("{Blind}a")
*b:: HogeSendKey("{Blind}b")
*c:: HogeSendKey("{Blind}c")
*d:: ......
253 :名無しさん@お腹いっぱい。[sage]:2008/03/10(月) 13:52:10 ID:BSxkGXvM0
1.0.47.06
254 :名無しさん@お腹いっぱい。[sage]:2008/03/10(月) 16:54:27 ID:vUAUq/Eu0
Caps LockをCtrlに対応させたく思い、
vkF0sc03A::vkA2sc01D

CapsLock::Ctrl

CapsLock::^
としてみましたが出来ません。どうすればいいのでしょう。
教えてください。よろしくお願いします。
255 :名無しさん@お腹いっぱい。[sage]:2008/03/10(月) 17:24:27 ID:9BCH5cLc0
>>3
256 :名無しさん@お腹いっぱい。[sage]:2008/03/10(月) 19:05:40 ID:Qf9LF4830
mayu とか KeySwap とか併用が前提だな
257 :名無しさん@お腹いっぱい。[sage]:2008/03/10(月) 20:06:01 ID:7U86VYG60
同じキーでSHIFT状態によって別な文字が入る(例:1と!)のを逆転させる方法はないものかって
ずっと心の片隅に引っかかってたけどやっとこさ見つけられて(NT系限定だけど)とってもハッピー
SendしてからRemapすればよかったのか

!::Send, 1
1::!
258 :名無しさん@お腹いっぱい。[sage]:2008/03/10(月) 22:34:56 ID:ffMlG0e60
>>254
自分はChgKeyというソフトで無変換に変更してから、
AHK上で無変換キー(SC79)としてつかってる。
(ちなみに英語キーボードなので無変換は空キー)
259 :名無しさん@お腹いっぱい。:2008/03/11(火) 18:46:36 ID:8hd1Vj+m0
ALT+左ドラッグで表示画面移動
→ホイールドラッグで実現したく、

MButton::Send, {Alt} down {LButton} down
MButton up::Send, !{LButton} up

など試しましたが、押した瞬間しかALTが押されていないようです。
どこを変えたらよいか教えてください。
260 :名無しさん@お腹いっぱい。[sage]:2008/03/12(水) 09:38:42 ID:7Sj/8niq0
ちょっと質問します。
"アクティブウィンドウ以外を最小化"を行いたく、以下のようなスクリプトを書いたのですが、、、

WinGetActiveTitle, title
WinMinimizeAll
WinActivate, %title%

なぜか自分の環境ではWinMinimizeAllが効かずこの方法は断念しました。
それとは別に、一瞬にしてもアクティブウィンドウは最小化させたくはないので(上記のスクリプトはきっとチカチカする)
できればループ処理でアクティブウィンドウ以外を最小化させたいのですが、
全ウィンドウのコレクションを取得する方法が思いつかず、かつ見つけることもできませんでした。
AHK達人の皆さま、お知恵を拝借できないでしょうか。
261 :名無しさん@お腹いっぱい。[sage]:2008/03/12(水) 09:55:52 ID:BBn5kDvF0
Winget list
262 :名無しさん@お腹いっぱい。[sage]:2008/03/14(金) 01:55:46 ID:X0LgGNT60
キー操作じゃなく
ControlClick, X座標 Y座標, Jane Doe Style, , LEFT, , NA
ってな感じにツールバーボタンをクリックしてやる操作だと
Janeをバックグラウンドで動かせるな
ツールバーにないのはスキンで追加したりして
263 :名無しさん@お腹いっぱい。[sage]:2008/03/14(金) 04:22:47 ID:w2GTXRhg0
マウ筋から乗り換え中ですが、躓きました。どうかアドバイスお願いします。

マウス右ボタン+ホイール上下で、キーボードの「カーソル上or下」を送信し、
右ボタンを放したときに、右クリックメニューを{ESC}で消す動作を想定しています。

RButton & WheelDown::Send,{Down}

RButton & WheelUp::Send,{Up}

ひとまずこれで操作はできたのですが、ホイール操作後に右クリックを離すと、
(当然ですが)右クリックメニューが出てしまいます。

マウ筋でいうところの「アクション終了後に実行」に相当する機能で
ESCを送信すれば解決しそうなのですが、それに相当する機能がどうしても
わかりません。

このあと、右クリックを離したときに {Esc} を送信するには、
どう書けばいいでしょうか。


それと、マウ筋の「トグル動作」に相当する機能は、
AutoHotkeyでも可能でしょうか。
264 :名無しさん@お腹いっぱい。[sage]:2008/03/14(金) 09:02:54 ID:QnXsY3pI0
調べてもわからなかったので質問します。

X単打→A
X長押し→B

といった風に、特定のキーの単打と長押しで動作を変える方法はあるでしょうか。
教えていただけるとうれしいです。
265 :名無しさん@お腹いっぱい。[sage]:2008/03/14(金) 11:23:39 ID:t9zhO3C60
流行らせるページのマウスジェスチャ2なんだけど
explorerにRB_LB_でAlt+F4を送るようにしてあるんだけどマウス直下じゃなくてアクティブウィンドウに利くようになってる。
もちろん設定のアクティブウィンドウをターゲットにするはチェックしていない。
また、ブラウザなどが持っているマウスジェスチャが一部が利かなくなったりする。
どうにかならないだろうか。
266 :名無しさん@お腹いっぱい。[sage]:2008/03/14(金) 13:33:04 ID:0BKa7fCF0
Alt+F4の前にWinActiveを書けばいいと思う
267 :名無しさん@お腹いっぱい。[sage]:2008/03/14(金) 13:33:44 ID:0BKa7fCF0
WinActivateか
268 :名無しさん@お腹いっぱい。[sage]:2008/03/14(金) 17:29:36 ID:P6frNnDA0
RButton & Wheelup::send {Left}
と記述したら、これ以外の右クリック関係が効かなくなってしまいました
以前の動作と共存させるにはどうしたらいいですか?
269 :名無しさん@お腹いっぱい。[sage]:2008/03/14(金) 18:04:12 ID:m2sf8lzZ0
まずは落ち着いて流行らせるページを読んだ方が良いと思うよ
270 :名無しさん@お腹いっぱい。[sage]:2008/03/14(金) 18:06:43 ID:+F3eJm7K0
アフィを踏まないようにな。
271 :名無しさん@お腹いっぱい。[sage]:2008/03/14(金) 18:20:10 ID:khMgy4pn0
>>264
KeyWaitで時間指定してErrorLevelで判断すれば多分出来る
272 :名無しさん@お腹いっぱい。[sage]:2008/03/14(金) 19:34:39 ID:P6frNnDA0
~RButton & Wheelup::send {Left}
としたら動くようになりましたが、アクション後に右ボタンを離したらコンテキストメニューが出てしまいます
出さないようにするにはどう記述すればよいですか?
273 :名無しさん@お腹いっぱい。[sage]:2008/03/14(金) 19:59:10 ID:D9gd79zc0
KeyA & KeyB::
{
 Some Script
}
$KeyA::Send,{KeyA}
274 :名無しさん@お腹いっぱい。[sage]:2008/03/14(金) 20:16:57 ID:khMgy4pn0
なんか、

RButton::
MouseClick, R,,, 1, 0, D
KeyWait, R
MouseClick, R,,, 1, 0, U
return

ってやってもドラッグがうまくいかないな、なんかやり方ある?
どうも、押下時点でメニューとか出るんでKeyWaitがうまく行ってないのかな?
275 :名無しさん@お腹いっぱい。[sage]:2008/03/14(金) 20:20:29 ID:LGlyJ14t0
なまず日記のmigemo_isearchを使っている人に質問です。

「[MIGEMO] I-search:」ウィンドウが開いているときに
ブラウザ内のどこかにフォーカスが移ると、検索ワードの
入力待ちから抜けられなくなりますよね。
そこで、とりあえず、自分でフォーカスを移した場合に
ついては以下のようにして逃げていますが、根本的な
解決策が知りたいです。

#IfWinActive ahk_class IEFrame
^s::MIS_IEMigemoISearchForward()

#IfWinActive ahk_class migemo-isearch
^s::MIS_MigemoISearchNextForward()

Esc::
AppsKey::
+f10::
MIS_MigemoISearchClose()
return

*LButton::
MIS_MigemoISearchClose()
MouseClick, Left
return

*RButton::
MIS_MigemoISearchClose()
MouseClick, Right
return
#IfWinActive
276 :名無しさん@お腹いっぱい。[sage]:2008/03/14(金) 20:47:13 ID:P6frNnDA0
>>273
ありがとうございました m(_ _)m
277 :名無しさん@お腹いっぱい。[sage]:2008/03/15(土) 06:40:10 ID:5wNKe8CI0
>>274
う・・・わ、恥ずかしい。今ごろ気付いた
R待ってても意味無いよな。RButtonだろ俺
ナンダヨー ニヤニヤ スンナヨー><;
278 :名無しさん@お腹いっぱい。[sage]:2008/03/15(土) 13:25:31 ID:MWOMNoQ50
xx分をxx時間xx分に換算する関数を作ろうと思い、できたのがこんなんです。
Conversion(origin){
min := Mod(origin, 60)
h := Round((origin - min) / 60)
Return, (hr ? h " h " : "") min " min"
}
いまいちかっこわるいのですが、こんなもんでしょうか。
279 :名無しさん@お腹いっぱい。[sage]:2008/03/15(土) 13:57:40 ID:A+4bfbKP0
簡単なので言えばこんなのとか
conv(i){
 t = 2000
 t += %i%,Minutes
 FormatTime FormdT, %t%, HH 'h' mm 'min'
 return FormdT
}
280 :名無しさん@お腹いっぱい。[sage]:2008/03/15(土) 20:27:19 ID:LpB2dUsx0
型定義か、オブジェクト作成が出来ればいいんだけどね
static 変数使えば、private変数みたく出来・・・ないか

ま、そこまで求めるような処理系をやるような言語ではないしな
281 :名無しさん@お腹いっぱい。[sage]:2008/03/16(日) 02:40:14 ID:PRavS+EG0
WinGetコマンド等でExclude Titleを指定できますが、
ここで複数タイトルを指定するにはどのようにすればいいでしょうか?
282 :名無しさん@お腹いっぱい。[sage]:2008/03/16(日) 06:18:08 ID:PRavS+EG0
>>281
AddGroupでグループ化して、ahk_groupで除外するというのを試みたのですが、うまくいきませんでした。
283 :名無しさん@お腹いっぱい。[sage]:2008/03/16(日) 20:13:32 ID:L7k3BomJ0
長押しと独自キーリピートのサンプルクレクレ
284 :名無しさん@お腹いっぱい。[sage]:2008/03/16(日) 22:17:10 ID:bN/A5LaO0
Inputbox に数式を入れると、結果を返すだけのツールを
作ったんですが、激しく仰々しくって・・・。もっと簡素に書けませんか?

vk1Csc079 & i::
  InputBox, suushiki, 数式を入力,,, 300, 110, , ,,
  FileAppend, Output:=%Suushiki%`r`n, c:\Enzan.ahk
  FileAppend, Msgbox`,`%Output`%, c:\Enzan.ahk
  Run, c:\Enzan.ahk
  Sleep, 500
  FileRecycle, C:\Enzan.ahk
return

(一行しか式を書き込めないので、拡張性に乏しいです)
285 :名無しさん@お腹いっぱい。[sage]:2008/03/16(日) 22:28:10 ID:6gu0PBjt0
なんでFileAppendなんか使うん?
286 :名無しさん@お腹いっぱい。[sage]:2008/03/16(日) 22:37:17 ID:bN/A5LaO0
FileAppendしか思い付かなかったので・・。行数制限は外したが。

vk1Csc079 & i::
Loop, 20{
InputBox, Suushiki, 数式を入力(Canselで入力終了),,, 300, 110,,,,,Y:=
If ErrorLevel = 0
{
FileAppend, %Suushiki%`r`n, C:\Enzan.ahk
}
If ErrorLevel = 1
{
FileAppend, %Suushiki%`r`n, C:\Enzan.ahk
break
}}
FileAppend, Msgbox`,`%Y`%, C:\Enzan.ahk
Run, C:\Enzan.ahk
Sleep, 500
FileRecycle, C:\Enzan.ahk
return
287 :名無しさん@お腹いっぱい。[sage]:2008/03/16(日) 22:44:09 ID:MFHWv9K4P
>>284
fenrirスレとマルチのうえあっちはほったらかしかよ。死ねよクソガキ。
288 :名無しさん@お腹いっぱい。[sage]:2008/03/16(日) 23:05:49 ID:6gu0PBjt0
俺には付いていけん発想だ
炊飯器に乗って隣の家に行くような
289 :284[sage]:2008/03/16(日) 23:26:39 ID:bN/A5LaO0
ID調べる粘着さんに誤爆をマルチ呼ばわりされてしまった。


>>288 ダイヤログボックスに数式を入れて結果を入力させるのが目的です。
上の文ではMsgboxを使っていますが、使用時はクリップボード&貼り付けにしています。

Google窓やCals.exe等では、結果の閲覧までなので一歩進めて入力までやりたくて・・。
290 :名無しさん@お腹いっぱい。[sage]:2008/03/16(日) 23:29:19 ID:EsUPLoeS0
これはひどい
291 :284[sage]:2008/03/16(日) 23:59:55 ID:bN/A5LaO0
Gui,Edit を出して変数に格納するのですか?

そうだとしても外にAHKを書くためにFileAppend以外に方法はないと思うのですが・・・。
292 :名無しさん@お腹いっぱい。[sage]:2008/03/17(月) 00:32:49 ID:tHZ6lmZ50
まあ、もう少し付き合うけど
変数に入れてそれをLoop, Parseするのでは何がいかんのか?
293 :名無しさん@お腹いっぱい。[sage]:2008/03/17(月) 01:31:27 ID:5FHlkxSn0
結果をほかのものに渡すだけならクリップボードを使えば良いだろ。
ClipBoard= %Suushiki%
294 :名無しさん@お腹いっぱい。[sage]:2008/03/17(月) 05:00:44 ID:w3b2p0Pp0
標準出力でもいいんじゃね
295 :名無しさん@お腹いっぱい。[sage]:2008/03/17(月) 10:40:11 ID:0WAsk9HL0
>そうだとしても外にAHKを書くためにFileAppend以外に方法はないと思うのですが・・・。
FileAppend以前にわざわざ外にAHKを書く意味がわからない。

fenrirスレ見てきたけど、IDなんか調べなくてもまんまマルチじゃん。
しかも向うではツッコミ入れられてから誤爆とか言い訳してるし、お前本当クズだな
296 :名無しさん@お腹いっぱい。[sage]:2008/03/17(月) 12:44:41 ID:vyHUZ/Zr0
数式ならはやらせるページのあぷろだにいくつかあった気がするが
297 :名無しさん@お腹いっぱい。[sage]:2008/03/17(月) 23:36:46 ID:z52UcUVJ0
>>271
遅くなりましたが、ありがとうございます。
298 :271[sage]:2008/03/18(火) 06:36:36 ID:DBpKlb6a0
>>297
いえいえ
299 :名無しさん@お腹いっぱい。[sage]:2008/03/18(火) 16:20:40 ID:p9N7Q+240
Loop の回数を入力して2重ループでキーをsendするマクロを使っているのですが;
たまに回数を間違えて終わるのを待つのがつらいです。
マクロを強制終了する方法はあるのでしょうか?
300 :名無しさん@お腹いっぱい。[sage]:2008/03/18(火) 17:13:36 ID:5EvAikyp0
^ESC:: ExitApp とか適当にホットキー設定しておけば?
マルチスレッドで動いてるはずだから多分大丈夫じゃね?

本当にどうしようもない時はタスクマネージャからプロセスの終了で強制終了汁
301 :名無しさん@お腹いっぱい。[sage]:2008/03/18(火) 19:21:18 ID:+E1ehu8R0
連打だったら、こんな感じで
規定回数orフォーカスずらしたら終わるようにしてるなぁ

renda(key, cnt) {
 WinGetClass, oCls, A
 Loop, %cnt%
{
  IfWinNotActive, ahk_class %oCls%
  Break,
  Send, {%key%}
 }
 return
}
302 :名無しさん@お腹いっぱい。[sage]:2008/03/18(火) 21:31:22 ID:qz5VYRvo0
GetKeyStateで適当なキー押下を調べて
押されてたらBreakするとか
303 :名無しさん@お腹いっぱい。[sage]:2008/03/18(火) 22:42:31 ID:LmQpgVGGO
UWSCのMOUSEORGみたいに、
特定のウインドウにキーを送る関数や方法はありますか?
304 :名無しさん@お腹いっぱい。[sage]:2008/03/19(水) 00:13:54 ID:Qu6VUaAz0
ありまくり
305 :名無しさん@お腹いっぱい。[sage]:2008/03/19(水) 12:12:38 ID:ZHMEY0Ip0
>>301
ありがとうございます。
306 :名無しさん@お腹いっぱい。[sage]:2008/03/19(水) 13:45:53 ID:PsQCSOhe0
>>304
ありがとうございます。
307 :TWZmalSIIaso[nel@yhoo.com]:2008/03/21(金) 09:05:57 ID:0s2M9jx00
<a href=http://imporous.cn/map.html >online</a>
http://importee.cn/map.html
<a href=http://importee.cn/map.html >online</a>
http://jointed.cn/map.html
<a href=http://jointed.cn/map.html >online</a>
http://jolite.cn/map.html
<a href=http://jolite.cn/map.html >online</a>
308 :名無しさん@お腹いっぱい。[sage]:2008/03/22(土) 14:49:01 ID:6t3qgOPy0
・マウスの中ボタンを押すと、(中ボタンを放した瞬間)検索開始
・マウスの中ボタン+ホイール↓で、検索の次候補(F3)
・マウスの中ボタン+ホイール↑で、検索の前候補(shift+F3)

という動作をさせたいのですが、

MButton::send,^f
MButton & WheelDown::send,{F3}
MButton & WheelUp::send,+{F3}

この3行のうち、下の2行を入れると、
先頭の「中ボタンを押しただけの動作」が無視されてしまいます。

希望する動作にするためには、どう書けばいいでしょうか。
309 :名無しさん@お腹いっぱい。[sage]:2008/03/22(土) 15:15:08 ID:UA/65Cwf0
単独と&の組み合わせって駄目じゃなかったっけ。
前試して動かなかったような記憶が。
310 :名無しさん@お腹いっぱい。[sage]:2008/03/22(土) 16:24:18 ID:DRTfcI5V0
MButton Up::send,^f
でできると思う
311 :名無しさん@お腹いっぱい。[sage]:2008/03/22(土) 20:17:36 ID:0AYJpUnlO
マウスボタンの配置を入れ替えることはできますか?

a::b
b::a
↑キーボードはできたんですけど
312 :名無しさん@お腹いっぱい。[sage]:2008/03/22(土) 20:59:20 ID:H09tmeZI0
指をクロス
313 :名無しさん@お腹いっぱい。[sage]:2008/03/23(日) 02:24:18 ID:yu0oJW4R0
>>311
Windowsの設定で左利き用にするのではだめなのか?
314 :311[sage]:2008/03/23(日) 09:32:42 ID:h6Mm6xGhO
右←→X2を交換したいんです
ロジのトラックボール(ST-45UPi)を購入した
ので親指に左右クリックを集めて使いたいなと
SetPoint+UberOptionsで実現できそうなのですが
できればSetPointとか使いたくないんです。
315 :名無しさん@お腹いっぱい。[sage]:2008/03/23(日) 09:37:41 ID:h6Mm6xGhO
間違い左←→X2です
316 :名無しさん@お腹いっぱい。[sage]:2008/03/23(日) 09:57:54 ID:IKb6ZKv10
SetPointつかったほうがいいんでないかい
317 :名無しさん@お腹いっぱい。[sage]:2008/03/23(日) 11:37:05 ID:MbnHXQ3d0
>>308です。

>>309
そのようです。

>>310
これでできました。ありがとうございます。
318 :名無しさん@お腹いっぱい。[sage]:2008/03/23(日) 21:27:50 ID:7xaaJCup0
>>311
この辺が参考になるかも
http://www.autohotkey.com/forum/topic26163.html
http://www.autohotkey.com/forum/topic889.html
319 :311[sage]:2008/03/24(月) 11:25:36 ID:Ns5Ryq4zO
>>318 ありがとう。すごく参考になりました。

一応結果を書いておきます。
飛び先にはいくつか方法が書かれているけど,↓がベターだとおもう。

*LButton::
MouseClick, right,,,,, D
KeyWait, LButton
MouseClick, right,,,,, U
return

*RButton::
MouseClick, left,,,,, D
KeyWait, RButton
MouseClick, left,,,,, U
return

KeyWaitの効果??でマウスジェスチャー,範囲選択も標準同様に動作できた。
ちょっと不満なのは右クリするとコンテクストメニューが表示されたり
されなかったりする。それ以外は期待通りでした。
(再現も規則性があって,右ダブルクリックすれば回避できるけど)

>>316
自分の環境だと突然ALTやCtrlが押された状態になってイライラするから
使いたくないんです。原因もわからないし・・
320 :名無しさん@お腹いっぱい。[sage]:2008/03/24(月) 16:06:20 ID:n1SVzXNB0
XPSP3日本語版はキーUp/Down情報が正しく返して(>>3)くれる・・・わけないよなぁ
321 :名無しさん@お腹いっぱい。[sage]:2008/03/24(月) 20:59:47 ID:4Vqa4LsF0
Setpointの押しっぱなし回避のため、Alt/Ctrl/Shift upとSetpoint再起動のスクリプトを書いておくがよろし
322 :名無しさん@お腹いっぱい。[sage]:2008/03/24(月) 22:08:58 ID:m2WbBKQQ0
>>319
スレチだけど、押しっぱなしの件うちも起こるなぁ。>Setpoint
まぁ、ごく稀になんで我慢して使ってるけど。MouseWareの頃はこんな事なかったのになぁ。
どれかが押されたままになったら、そのキー(キーボード実体)を適当にポンポン叩いてると
しばらくすれば直るんだけど。
俺は>>321をやってみようかと思う。アイデアどうもありがとう
323 :名無しさん@お腹いっぱい。[sage]:2008/03/24(月) 23:56:48 ID:4Vqa4LsF0
>>321をやるなら、ホットキーは^!+z::みたいにするのがおすすめ。
押しっぱなしの症状出ていても起動するようにな。
324 :名無しさん@お腹いっぱい。[sage]:2008/03/25(火) 14:08:04 ID:fKCEZ+8l0
Ahkファイルを右クリックしたとき出る「edit script」で使用するエディタを変更する方法は何かないでしょうか?
325 :名無しさん@お腹いっぱい。[sage]:2008/03/25(火) 16:39:51 ID:/e6R/f5R0
>>324
俺は↓のレジストリのnotepad.exeの部分を書き換えてる。
他の方法もあるかもしれないけど。ちなみにOSはXP

HKEY_CLASSES_ROOT\AutoHotkeyScript\Shell\Edit\Command
326 :名無しさん@お腹いっぱい。[sage]:2008/03/25(火) 19:23:22 ID:tZ5Dk9KN0
>>324
http://lukewarm.s101.xrea.com/test/read.cgi/bbs/1092315194/107-108
327 :名無しさん@お腹いっぱい。[sage]:2008/03/25(火) 20:01:12 ID:4sJAnoqM0
「フォルダオプション」の「ファイルの種類」で
.ahk->詳細設定->Edit scriptいじってもできるよ。
328 :名無しさん@お腹いっぱい。[sage]:2008/03/25(火) 20:45:40 ID:v2dURCKr0
あとは、Menu, Tray, ~で全部書き換えてしまうとか
329 :名無しさん@お腹いっぱい。[sage]:2008/03/26(水) 00:45:10 ID:uloWWH/t0
Photoshop、Sai、Neko、ComicStudio共通、3分間操作しないと自動保存を行うAutoHotkeyスクリプト
ttp://blogs.yahoo.co.jp/uwsc_script/31579152.html
330 :名無しさん@お腹いっぱい。[sage]:2008/03/26(水) 10:21:32 ID:rg2QQF050
雑談していいか?デジ絵業界のこと全く知らんのだが、プロにもAutohotkeyは流行ってるの?浸透する余地はあるの?
331 :名無しさん@お腹いっぱい。[sage]:2008/03/26(水) 12:03:00 ID:UhywBhzN0
プロや同人者じゃないけどフォトショやイラレくらい普通に使うっしょ。ビジネスでも個人でも。

スクリプトに免疫ある云々以前に自動保存は危険だから そうそう需要があるとは思えんし
(保存する気は無いけどちょっと試してみた、っつーような状態でオリジナル更新とかされたら泣ける。
MS-Officeみたいに保存でアンドゥバッファがクリアされるようだとかなりアウチな状況になる)
329のブログの人は元々uwscとかやってるから、浸透させたいとかそういう意図じゃなく
単純に自分が使ってるものを公開してるだけじゃないか?
332 :名無しさん@お腹いっぱい。[sage]:2008/03/26(水) 12:27:50 ID:XtKWYjkt0
VAIOノートのボリューム変更が面倒(ミュートボタン+十字キー)なので、ahkでボリュームを変更しようと考えました。
しかし、VistaのせいかVAIOのせいか、XP機では問題なく動作していたコマンド「SoundSet」がまったくききません。

これはVistaで音量管理が変わったせいでしょうか。それともVAIO固有の問題でしょうか。
他にVista機を使ったことがないので、ボリューム関係の命令が通常は問題なくVistaでも動作するのかどうかお教えいただければと思います。
333 :名無しさん@お腹いっぱい。[sage]:2008/03/26(水) 12:28:04 ID:rg2QQF050
イラレを普通の人が使うか?まぁいいや。俺的には糞キーだった無変換と

変換キーがAHKで超活躍したのに感動して、ネタ探しにこのスレに居着いてる。
334 :名無しさん@お腹いっぱい。[sage]:2008/03/26(水) 13:42:09 ID:s4aoxhYc0
無変換は使う人は使うらしい。
うちの親父がひらがな確定するのに使ってた。
AHK立ち上げたまま貸したから誤爆しまくってた。
335 :名無しさん@お腹いっぱい。[sage]:2008/03/26(水) 14:06:53 ID:aFNDPsi80
ドロー系ってイラレくらいしか市販ソフトで選択肢なくなってるじゃん
簡単なものならInkscapeとかでも良いけどちょこっと凝ったことやって
印刷所に渡すとかならイラレ一択だよ

普通の人でもちょっと凝ったチラシ程度は作ったりするでしょ?
336 :名無しさん@お腹いっぱい。[sage]:2008/03/26(水) 14:20:42 ID:mvQbsgET0
作業上、定型処理があってマクロが無い場合、
何らかの補助ツールを用いてバッチ的に処理したいと思うのは
当たり前なんじゃないの?

エクセルとかの事務処理ツールは大抵マクロがあるけど、
オーサリングとか描画とかのツールには無いことがあるし。
その場合、キー送信って方法はわかりやすい手法だと思う。

でも浸透はしてないと思う。

>>332
アプリケーション毎に音量を変えられる Vista の仕様には対応してないとか。
つまり、AHKのプロセスのみの音量が変わるだけ。
システム全体のボリュームを変更したい場合は以下のようにして逃げろと書いてある。

①AHK互換モードで動かす
②ボリューム変更キーを変更してシステム全体のマスタ音量を変えるようにする


ttp://www.autohotkey.com/docs/commands/SoundSet.htm
> [Remarks]
> On Windows Vista, SoundSet and SoundGet affect only the script itself
> (this may be resolved in a future version).
> There are at least two ways to work around this:
>
> 1) In the properties dialog for the file "AutoHotkey.exe" (or a compiled script),
>   change the compatibility setting to "Windows XP".
> 2) Have the script send volume-control keystrokes to change the master
>   volume for the entire system. For example:
> (以下略)

337 :名無しさん@お腹いっぱい。[sage]:2008/03/26(水) 14:22:30 ID:oolhOgY80
>>334
俺も無変換に機能を割り当ててウハウハ気分。
だが、あるとき「あれ?ひらがなにならねぇじゃん」というシーンがちらほら。

・・・あれだけ邪魔扱いしていた無変換キーを、
無意識のうちに微妙に使ってたことに驚愕した。ごめんよ無変換君

まぁ最終的に ~ up で支障のないように割り当てちゃったけど
338 :名無しさん@お腹いっぱい。[sage]:2008/03/26(水) 15:23:42 ID:UhywBhzN0
>>336
コミスタみたいな漫画描き用ツールは使ったことないからわからんが
adobe系ならアクションで操作記憶できるし、jsも使えるからな
外部のソフトでどうこうしようって需要はそんなには高くないんじゃないかな

自分はjsわからんからAHKで適当にやらせちゃったりしてるけど。
339 :名無しさん@お腹いっぱい。[sage]:2008/03/27(木) 12:16:30 ID:YojpcV9k0
>>336
なるほど、Volume_Upを送ればいいんですね。助かりました。
AhkがVistaの仕様に対応してくれると面白いんですがね。
340 :名無しさん@お腹いっぱい。[sage]:2008/03/27(木) 23:12:54 ID:wa/kgMqy0
>>337
変換中にひらがな なら、Ctrl+u、或いはF6使うとか?
Ctrl+u,i,o,pに慣れたんで、変換中は無変換キー使わないです。

無変換キーは、なまず日記(2005-09-16)参考で(Alt複数回押しが元ネタ)
2度押しでF24キー送ってランチャの呼び出しキーにしてるのと
テンプレにもある無変換+IJKLで↑←↓→にして使ってる。
341 :名無しさん@お腹いっぱい。[sage]:2008/03/27(木) 23:45:44 ID:7ph+A4hy0
すみません。全くの初心者です。
マウスのX2ボタン+ホイールで水平スクロールさせたいのですが、つまづいてます。
下の表記ではダメなのでしょうか?どの様に表記すれば良いでしょう?

XButton2 & WheelUp::
ControlGetFocus, fcontrol, A
SendMessage, 0x114, 0, 0, %fcontrol%, A

XButton2 & WheelDown::
ControlGetFocus, fcontrol, A
SendMessage, 0x114, 1, 0, %fcontrol%, A
342 :名無しさん@お腹いっぱい。[sage]:2008/03/28(金) 00:51:14 ID:vippfD4h0
「アクティブウィンドウのアクティブコントロール」だと
実際はどこにフォーカス当たってるのかわからんよ
マウス下のコントロールハンドル送るほうがまだ確実

MouseGetPos,,,,ctrl,3
PostMessage, 0x114, 0, 0, ahk_id %ctrl%

もしこれでもダメなら対象のコントロールがスクロールに対応してない
(見当違いのコントロールをつかんでしまっている)か、
スクロールハンドルも指定してやらないといかんとかだと思う
343 :名無しさん@お腹いっぱい。[sage]:2008/03/28(金) 01:09:11 ID:SNoH02TP0
Mousegesture.ahk使え
344 :名無しさん@お腹いっぱい。[sage]:2008/03/28(金) 08:29:45 ID:1yE4nRrQ0
>>331
使いにくいインターフェースを使いやすくするのには使っている。

http://upp.sakura.ne.jp/src/upp16216.jpg
http://upp.sakura.ne.jp/src/upp16217.jpg
http://upp.sakura.ne.jp/src/upp16218.jpg
345 :名無しさん@お腹いっぱい。[sage]:2008/03/28(金) 20:40:26 ID:lF6janXs0
%00%01%12みたいにエンコードされたURL文字列をデコードしたいのですが、
変数に入っているURLをデコードするには、どのようにすればいいでしょうか。

AutoHotkey本家サイトで、下記のサンプルらしきものをみつけたのですが、
AutoHotkey自体にまだ慣れていない状態で。たとえば %abc% という変数に
入れたURLを変換するには、どのように書けば動いてくれますか?


uriDecode(str) {
Loop
If RegExMatch(str, "i)(?<=%)[\da-f]{1,2}", hex)
StringReplace, str, str, `%%hex%, % Chr("0x" . hex), All
Else Break
Return, str
}

http://www.autohotkey.com/forum/topic18876.html
346 :名無しさん@お腹いっぱい。[sage]:2008/03/29(土) 16:33:33 ID:VfpQtKeR0
これってクリップボード拡張機能があるの?
あるんだったらいくつまでため込んでおけるの?
347 :名無しさん@お腹いっぱい。[sage]:2008/03/29(土) 17:02:54 ID:G6elPIP40
クリップボードをどうにかできる機能はある。拡張は各自で行う。
己の好きなだけためられるようなコードをかけばOK
348 :名無しさん@お腹いっぱい。[sage]:2008/03/29(土) 17:59:21 ID:VdXqTZUN0
cbhistory%num% = cbhistory%num-1%
とか偽配列に溜め込んでいけばいくらでも
349 :名無しさん@お腹いっぱい。[sage]:2008/03/29(土) 20:14:12 ID:T1+UFJiD0
例えばあるキーを押したら「○」と入力されるようにするには
クリップボードを使わずにできるの?
350 :名無しさん@お腹いっぱい。[sage]:2008/03/29(土) 20:59:51 ID:G6elPIP40
できるけど全角文字はOSや入力先コントロールによっては化けるよ
351 :名無しさん@お腹いっぱい。[age]:2008/03/30(日) 02:53:04 ID:E4XGHc6a0
アニメ「めぐみ」ダウンロードページ
http://www.rachi.go.jp/jp/megumi/index.html#ja
352 :名無しさん@お腹いっぱい。[sage]:2008/03/30(日) 09:32:11 ID:ltQQNcJf0
他のスレでAHKを勧められたんで使ってみようかと思っています。
iniファイルに設定を書けって言われたんで記述しようかと思ったんだけど
落としたzipにはiniファイルがありません。
これは自分で作れってことですか?
353 :名無しさん@お腹いっぱい。[sage]:2008/03/30(日) 09:55:59 ID:gl83dI/t0
>>352
初回にAHKを起動したときに自動で作られる
ttp://d.hatena.ne.jp/ka8823ge/20060214
354 :名無しさん@お腹いっぱい。[sage]:2008/03/30(日) 10:23:13 ID:vGXFRISg0
練習ならデスクトップで、右クリックして
 [新規作成]→[Autohotkey Script]
と選択して新規ファイル作る。

さらに出来たファイルを右クリックして
 [Edit Script]
を選んで編集する。
たぶんメモ帳で編集となる。

何か書いたら*保存して*からダブルクリックして実行。

後はがんばれ。
355 :名無しさん@お腹いっぱい。[sage]:2008/03/30(日) 10:27:04 ID:Ok2aoVwO0
自分も新参なんでそのへんよくわからんですが、
最近のAHKは、ini ファイルあれば読み込むけど、勝手につくったりはしないのでは。
適当な名前(AutoHotkey.ahkとか) を適当なところに置いて起動時に実行させたほうが、
エディタで編集もしやすいし良いような。
356 :名無しさん@お腹いっぱい。[sage]:2008/03/30(日) 10:37:22 ID:UVMk0PgG0
zip版でも.ahk起動でなかったらini作られると思うけど
357 :名無しさん@お腹いっぱい。[sage]:2008/03/30(日) 13:01:06 ID:qN+p1OrA0
AHKでiniファイルを作って使用する場合
その設定はシステム全体に共通するものになってしまうんですか?
ある特定のソフトではその設定を無効にすることってできますか?
358 :名無しさん@お腹いっぱい。[sage]:2008/03/30(日) 15:24:24 ID:Irt6PGPH0
>>357
システム全体に共通のものにすることも
特定のソフトだけに適用させることも
特定のソフトだけを除外することも

皆できます。
359 :名無しさん@お腹いっぱい。[sage]:2008/03/30(日) 16:15:28 ID:WwLdVX2H0
>>358
そのやり方の書いてあるサイトを紹介してくれませんか?
360 :名無しさん@お腹いっぱい。[sage]:2008/03/30(日) 16:47:55 ID:UVMk0PgG0
>1
361 :名無しさん@お腹いっぱい。[sage]:2008/03/30(日) 22:10:05 ID:oszNmWuy0
さすがに春とは言えひどいのがわくなw
362 :名無しさん@お腹いっぱい。[sage]:2008/03/30(日) 22:14:42 ID:mTU/MBw90
いちいちあおんな
363 :名無しさん@お腹いっぱい。[sage]:2008/03/30(日) 22:19:42 ID:JMekhfLu0
>>350
やっぱり化けますか。
クリップボードに文字入れてペーストするしか方法ないのかな。
364 :名無しさん@お腹いっぱい。[sage]:2008/03/30(日) 23:35:22 ID:vGXFRISg0
ttp://lukewarm.s101.xrea.com/myscripts/index.html
の[Sendコマンド用日本語コード変換]
365 :名無しさん@お腹いっぱい。:2008/03/31(月) 23:53:39 ID:I9uPmNx00
変換キーをシフト+コントロールにしたいんだけど
vk1Csc079::^+
だとうまく動かないんだけどSend使ってもダメだった。
どうやったら出来るの?全然違うことやってるかな…

366 :名無しさん@お腹いっぱい。[sage]:2008/04/01(火) 00:15:47 ID:Bzz1rfhi0
おまえら、AutoHotkeyなんてもう腐りきった言語をいつまでも使ってるんじゃない!
これからはJHotkeyの時代だぞ!!
http://lukewarm.me.land.to/
367 :名無しさん@お腹いっぱい。[sage]:2008/04/01(火) 00:28:52 ID:o19x/qgO0
>>開発途中のため、構想されている機能のうち極一部しか実装されていません。

意気込みはいいが、これじゃな…
368 :名無しさん@お腹いっぱい。[sage]:2008/04/01(火) 00:31:29 ID:VxtyJ8oc0
今日は・・
369 :名無しさん@お腹いっぱい。[sage]:2008/04/01(火) 00:32:21 ID:taqmYof10
ぬるたん、何やってんのw
370 :名無しさん@お腹いっぱい。[sage]:2008/04/01(火) 01:05:47 ID:+YiplxOD0
エイプリルフール?
じゃないのね・・・
さすがスクリプトオタク
371 :名無しさん@お腹いっぱい。[sage]:2008/04/01(火) 01:49:23 ID:Bzz1rfhi0
;# MobileSOS.ahk
Gui, 1:+ToolWindow -Disabled -SysMenu -Caption
Gui, 1:Color, FF0000
Gui, 1:Show, X0 Y0 W%A_ScreenWidth% H%A_ScreenHeight%
Gui, 2:+ToolWindow -Disabled -SysMenu -Caption
Gui, 2:Color, 000000
Gui, 2:Show, X0 Y0 W%A_ScreenWidth% H%A_ScreenHeight%
Loop
{
Gui, 1:SHOW
Sleep, 200
Gui, 2:SHOW
Sleep, 200
Gui, 1:SHOW
Sleep, 200
Gui, 2:SHOW
Sleep, 200
Gui, 1:SHOW
Sleep, 800
Gui, 2:SHOW
Sleep, 200
}
Return

Esc::ExitApp

http://www.forest.impress.co.jp/yashiro/2008/mobilesos.html
372 :名無しさん@お腹いっぱい。[sage]:2008/04/01(火) 02:04:47 ID:rprG/suh0
>>365
AHK勉強中です、正しい書き方でないだろうし
もっとよい記述があると思うんだけど一応書いてみました。
vk1Csc079::
Send,{Shift Down}{Ctrl Down}
loop
{
sleep, 10
GetKeyState, vkstate, vk1Csc079, P
if vkstate=U
{
Send, {Shift Up}{Ctrl Up}
break
}
}
return
373 :名無しさん@お腹いっぱい。[sage]:2008/04/01(火) 02:25:34 ID:+YiplxOD0
>>371
すばやいな
でも、SOSは・・・ーーー・・・だとおもうんだ
374 :名無しさん@お腹いっぱい。[sage]:2008/04/01(火) 03:41:28 ID:xJn9jWDG0
画面の特定の場所(たとえば右上)にマウスオーバーしたら、
特定のアプリを最前面表示、みたいにやりたいんですが、
どこかにそういうスクリプト公開されてますか?
375 :名無しさん@お腹いっぱい。[sage]:2008/04/01(火) 03:48:29 ID:Bx9nGxi10
画面端だけならMouseGesture.ahkにある
376 :名無しさん@お腹いっぱい。[sage]:2008/04/01(火) 03:51:02 ID:xJn9jWDG0
なるほど。ちょっと見てみます。
377 :名無しさん@お腹いっぱい。[sage]:2008/04/01(火) 03:52:36 ID:Bx9nGxi10
     *      *
  *     +  うそです
     n ∧_∧ n
 + (ヨ(* ´∀`)E)
      Y     Y    *
378 :名無しさん@お腹いっぱい。[sage]:2008/04/01(火) 04:02:39 ID:xJn9jWDG0
         ナ ゝ   ナ ゝ /    十_"    ー;=‐         |! |!
          cト    cト /^、_ノ  | 、.__ つ  (.__    ̄ ̄ ̄ ̄   ・ ・
ミミ:::;,!      u       `゙"~´   ヾ彡::l/VvVw、 ,yvヾNヽ  ゞヾ  ,. ,. ,. 、、ヾゝヽr=ヾ
ミ::::;/   ゙̄`ー-.、     u  ;,,;   j   ヾk'! ' l / 'レ ^ヽヘ\   ,r゙ゞ゙-"、ノ / l! !ヽ 、、 |
ミ/    J   ゙`ー、   " ;, ;;; ,;; ゙  u ヾi    ,,./ , ,、ヾヾ   | '-- 、..,,ヽ  j  ! | Nヾ|
'"       _,,.. -─ゝ.、   ;, " ;;   _,,..._ゞイ__//〃 i.! ilヾゞヽ  | 、  .r. ヾ-、;;ノ,.:-一'"i
  j    /   ,.- 、  ヾヽ、 ;; ;; _,-<  //_,,\' "' !| :l ゙i !_,,ヽ.l `ー─--  エィ' (. 7 /
      :    ' ・丿   ̄≠Ξイ´,-、 ヽ /イ´ r. `ー-'メ ,.-´、  i     u  ヾ``ー' イ
       \_    _,,......::   ´゙i、 `¨ / i ヽ.__,,... '  u ゙l´.i・j.冫,イ゙l  / ``-、..- ノ :u l
   u      ̄ ̄  彡"   、ヾ ̄``ミ::.l  u   j  i、`ー' .i / /、._    `'y   /
              u      `ヽ  ゙:l   ,.::- 、,, ,. ノ ゙ u ! /_   ̄ ー/ u /
           _,,..,,_    ,.ィ、  /   |  /__   ``- 、_    l l  ``ーt、_ /  /
  ゙   u  ,./´ "  ``- 、_J r'´  u 丿 .l,... `ー一''/   ノ  ト 、,,_____ ゙/ /
        ./__        ー7    /、 l   '゙ ヽ/  ,. '"  \`ー--- ",.::く、
       /;;;''"  ̄ ̄ ───/  ゙  ,::'  \ヾニ==='"/ `- 、   ゙ー┬ '´ / \..,,__
、      .i:⌒`─-、_,....    l   /     `ー┬一'      ヽ    :l  /  , ' `ソヽ
ヾヽ     l      `  `ヽ、 l  ./  ヽ      l         )  ,; /   ,'    '^i
379 :名無しさん@お腹いっぱい。[sage]:2008/04/01(火) 15:34:48 ID:PbhXdZno0
SubMakeTxt:
(処理)
FileAppend,%Text%,hoge.txt
Return

このようなサブルーチンで、処理の最中に再び同じサブルーチンが呼び出された場合、
最初に呼び出された方を打ち切って新しく最初からやり直すというのはどう書けばいいんでしょうか。

やりたいのは「さっきのやめて新しい条件でhoge.txt作って」という感じのことです。
380 :名無しさん@お腹いっぱい。[sage]:2008/04/01(火) 21:45:56 ID:taqmYof10
そいつをコンパイルEXE化しといて
呼出し毎にまずプロセスを落としてから処理に入るとか
381 :名無しさん@お腹いっぱい。[sage]:2008/04/01(火) 22:27:43 ID:TzLRdUHG0
偉い先生、教えてください。
スクリプト起動中に Hotstring の設定を書き換えられますか?
たとえば
#Hotstring C
 ↑
 ↓
#Hotstring C0
などとトグルしたいんですが。
382 :名無しさん@お腹いっぱい。[sage]:2008/04/01(火) 23:35:42 ID:iDdNVKh40
>>364
ありがとう!
383 :名無しさん@お腹いっぱい。[sage]:2008/04/02(水) 17:23:33 ID:WduZd3PH0
AHKでマウスのスクロールボタンを押した
動作を設定したいんですがそれってできます?
テンプレにある流行ページ見たんですが
ボタン押しのキーリストがありませんでした。
やりたいことはスクロールボタンを押したまま
スクロールさせてアプリを切り替えたんです。
384 :名無しさん@お腹いっぱい。[sage]:2008/04/02(水) 17:24:05 ID:WduZd3PH0
× 切り替えたんです。
○ 切り替えたいんです。
385 :名無しさん@お腹いっぱい。[sage]:2008/04/02(水) 19:30:07 ID:wPtPDyuj0
下の二行で頭がくらっと来た。
386 :名無しさん@お腹いっぱい。[sage]:2008/04/02(水) 20:57:10 ID:XEaurMqJ0
エディタや入力部分等で選択している範囲の文字列中の一番右側の数値を1増やすのってどうやればいいんですか?

file-01.txt

を選択して実行すると

file-02.txt

になるような感じです
387 :名無しさん@お腹いっぱい。[sage]:2008/04/02(水) 21:08:44 ID:2iojmLuY0
>>386
正規表現で数字部分だけ引っこ抜いたらどうでしょう
388 :名無しさん@お腹いっぱい。[sage]:2008/04/02(水) 22:43:10 ID:d+HQvHP20
Alt や Ctrl や Shift を素早く二回押しして
クリップボードとかを立ち上げようと思っているのですが、
こういう「連続押し」はどうすれば良いのでしょうか?

(窓使いの憂鬱スレで聞いたら「AHKが得意だよ」と言われてやって来ました)
389 :名無しさん@お腹いっぱい。[sage]:2008/04/03(木) 00:02:45 ID:nVgIA2Ke0
ttp://lukewarm.s101.xrea.com/test/read.cgi/bbs/1092315194/16
その他
390 :名無しさん@お腹いっぱい。[sage]:2008/04/03(木) 01:29:40 ID:k0tD4Xy50
>>389
どうもありがとうございます。
これに何か書き加えれば
連続押しでアプリを呼び出したりできるんですね。
ちょっと勉強してみます。
詰まったらまた質問させて頂きますので
その時はお願いします。
391 :名無しさん@お腹いっぱい。[sage]:2008/04/03(木) 23:44:41 ID:2gOsBbkj0
リファレンス見てて
Exp() ネピア数eのべき乗を返す関数
を見たときに自分の限界を感じた
商業科卒でろくな数学教わってこなかったから
単語調べても説明文から理解できないという詰みっぷり
例題とかどういう時に使うのかないから
プログラミングできなくてもこれ使えばなんとかなるかなフフンって思ってた自信が崩れた
理系の学校に行っとけばよかったと思ったよ後の祭り
392 :名無しさん@お腹いっぱい。[sage]:2008/04/04(金) 00:45:32 ID:7zeiblG+0
>>389のURLで紹介されていた

~CTRL::
if A_PriorHotkey <> %A_ThisHotkey%, return
if A_TimeSincePriorHotkey > 400, return
;some action


return

に、現在クリップボードを呼び出すショートカットである
Ctrl+D を試しに割り当てて呼び出したいのですが、
どうすれば良いでしょうか?
(高校中退の僕にはプログラミングは難し過ぎでした)
393 :名無しさん@お腹いっぱい。[sage]:2008/04/04(金) 11:01:00 ID:pBB/Zv3r0
リファレンスの Send の項を見て来い
わからないんならお前には無理、あきらめろ
394 :名無しさん@お腹いっぱい。[sage]:2008/04/04(金) 17:41:26 ID:1bP2SCxJ0
>>391
eなんて理系でも使わないとこじゃまったく使わねぇよw

ってか何でそんなもんを調べてるんだ?
「米の炊き方が知りたいのですが鉄の熱伝導率を調べても私には意味がわかりませんでした」って言ってるようなものだぞ
395 :名無しさん@お腹いっぱい。[sage]:2008/04/04(金) 18:04:46 ID:G2g11yCV0
"e"をネピア数っていうんだ。知らんかった。一応理系の大学でたけど。
てか、数学をコテコテいじるようなところじゃなかったしな。

自然対数の"底"って書いてあれば、高校数学程度って分かるんだが。
数Ⅱくらいか?(ってか今、数Ⅱってあんのか・・・?)
396 :名無しさん@お腹いっぱい。[sage]:2008/04/04(金) 20:35:03 ID:bHsVIBeM0
>>394
ちゃうだろ
米の炊き方なら目的がはっきりしてるから鉄の熱伝導率なんて知識が
米を炊く時に必要かそうでないか判断できる
知らないものを調べることになんか疑問あるかね
何か思い立ったときそれが必要だったとして知らなかったら不可能として諦めて損になる
397 :名無しさん@お腹いっぱい。[sage]:2008/04/04(金) 20:45:23 ID:bcgYhMW50
日本語でおk
398 :名無しさん@お腹いっぱい。[sage]:2008/04/04(金) 22:48:35 ID:5/uiSusF0
何か不幸な生い立ちでも?
399 :名無しさん@お腹いっぱい。[sage]:2008/04/05(土) 08:23:27 ID:AZM4ch+j0
Cを始めるときにC言語辞典読破してからハローワールドするみたいな
400 :名無しさん@お腹いっぱい。[sage]:2008/04/05(土) 10:04:21 ID:8a6N5frDO
>>396
お前にとってeが必要になる可能性が高いかどうかくらいは今でも判断つくだろ?
おおよそ不必要なら、さっさと基本的な事をマスターして、その後で覚えたらいいやん。
401 :名無しさん@お腹いっぱい。[sage]:2008/04/05(土) 16:47:46 ID:IvDj1tasP
覚えたらeやん
402 :名無しさん@お腹いっぱい。[sage]:2008/04/05(土) 17:49:22 ID:IwMCZKAQ0
つくしが引っ込んだぞ、おい
403 :名無しさん@お腹いっぱい。[sage]:2008/04/05(土) 19:31:49 ID:zWjQS3cI0
ゴメン
404 :名無しさん@お腹いっぱい。:2008/04/06(日) 21:06:22 ID:FTx5YlaY0
神様
あるウィンドウがクリックされた時に、
そのウィンドウにあるメニューバーの特定のメニュー項目がdisabledならば、
クリックされなかったことにしてreturnしたいのですが、
どこかにサンプルなどないでしょうか。

たとえばIEがクリックされた時、IEのメニューバー->編集(E)->コピー(C)が
disabledならクリックイベントが発生しないようにしたいです。

エロかっこいい神様、どうかおながいします。
405 :名無しさん@お腹いっぱい。[sage]:2008/04/06(日) 21:25:26 ID:nrvmy2DX0
コピー限定だけど、Disableかどうかにかかわらずとりあえず実行して
クリップボードが変更されたなら実行、そうでないなら放置、でいいのでは。
406 :名無しさん@お腹いっぱい。[sage]:2008/04/06(日) 21:34:22 ID:FTx5YlaY0
例は、分かりやすく書いただけなので、「コピー」とは別物です。
フックとかしないとだめなんでしょうか。

エロカッコいい神様、どうかおながいします。
407 :名無しさん@お腹いっぱい。[sage]:2008/04/06(日) 21:47:07 ID:JhcN1jbX0
>>404
サブクラス化
408 :名無しさん@お腹いっぱい。[sage]:2008/04/06(日) 23:24:36 ID:FTx5YlaY0
サンプル見つけました。
http://www.autohotkey.com/forum/topic21451.html
エロスさまどうもあらがとうごあいまさた。
409 :名無しさん@お腹いっぱい。[sage]:2008/04/07(月) 23:41:05 ID:TGYHX9Tn0
$^f::Send {Right}
として、MS Word 上で ^f のキースクロールをくりかえすと、
たまに (数百回に一回ぐらい) Ctrl-F が入力されてしまうんだけど、
こんなもんなのだろうか?

^v::Send {PgDn}
でも Ctrl-V が入っちゃう。Sleep を入れるともっと悪くなるよ orz

410 :名無しさん@お腹いっぱい。[sage]:2008/04/08(火) 01:04:03 ID:IhpfBzS20
AutoHotkeyでも、こういうソースコードっぽいソースを書く人もいるんだな
411 :名無しさん@お腹いっぱい。[sage]:2008/04/08(火) 07:59:06 ID:BaKIsNaN0
素人質問ですが、教えてください。

① ;右クリック+ホイール↓ = タスク切り替え
  ~MButton & WheelDown:: AltTab

  ;右クリック+ホイール↑ = タスク切り替え(逆順)
  ~MButton & WheelUp:: ShiftAltTab

② ~MButton & WheelDown:: AltTab

   ~MButton & WheelUp:: ShiftAltTab

①の方法で記述すると、ダイアログにアイコンが表示されるんですが
②だと表示されず、中央ボタンを押したらアプリが切り替わります。
ですのでホイールの意味がまったくないんです。
どこが違うんでしょうか?②でも①のような操作がしたいんですが。
412 :名無しさん@お腹いっぱい。[sage]:2008/04/08(火) 08:00:03 ID:BaKIsNaN0
①のMButton→RButtonに置き換えてください。
413 :名無しさん@お腹いっぱい。[sage]:2008/04/08(火) 14:24:21 ID:AbWtGmV70
IMEが入力中かどうかを判別する方法はありますか?
変換や確定のSpace,Enterとそれ以外を分けたいんです。
414 :名無しさん@お腹いっぱい。[sage]:2008/04/08(火) 16:01:49 ID:/9Ax63ok0
IME状態を得るのなら探せば幾つか・・と即レスするところだった。
MS-IMEやATOKがはたらいているかどうか、見るスクリプトは見たことないなぁ。
415 :名無しさん@お腹いっぱい。[sage]:2008/04/08(火) 16:52:37 ID:225eMm8v0
OnかOffかという状態をみるだけならなんとでもなるんですけどね…
416 :414考え中[sage]:2008/04/08(火) 18:36:01 ID:/9Ax63ok0
AutoHotKey Threadの>>591で言われているPixelSearchを
実際に使ってみた。やれないことはなさそう。>>413

;0XC56A31 ←ATOK変換時の色(青) 0XFFFFFF ←未確定時の色(真っ白)
X2:=A_CaretX + 5
Y2:=A_CaretY + 1
PixelSearch, Px, Py, A_CaretX, A_CaretY, X2, Y2, 0X0F0400 ,0
if ErrorLevel = 0
IMEFlag=1
Msgbox, %IMEFlag%
417 :名無しさん@お腹いっぱい。[sage]:2008/04/09(水) 00:48:40 ID:8oDip4ta0
>>413に書いてある内容だけ実現したいなら、
"窓使いの憂鬱が"の方が向いている
だが、Vistaだと厳しいな
418 :名無しさん@お腹いっぱい。[sage]:2008/04/09(水) 02:52:04 ID:CYoGSIzg0
AutoHotkey から Text Services Framework (TSF) は使えないのだろうか?
419 :名無しさん@お腹いっぱい。[sage]:2008/04/09(水) 21:39:19 ID:Y/Kzcbh10
最近いじり始めたばかりだが
マウスジェスチャの動作書くのって
素人じゃ難しいかな?
どっかに詳しく書いてあるといいんだが。
420 :名無しさん@お腹いっぱい。[sage]:2008/04/09(水) 22:30:24 ID:j0FC8OmH0
>>419
マウスジェスチャならはやらせるページの作者がかなり高性能なものを作ってくれてる
それをいじるなり参考にするなりすべし
421 :419[sage]:2008/04/09(水) 23:30:39 ID:Y/Kzcbh10
一応それ入れて中見てみたけど
もう自分にはチンプンカンプンでした。
a::bみたいな簡単には行かないんですね。
422 :名無しさん@お腹いっぱい。[sage]:2008/04/10(木) 22:18:00 ID:R9AZZFcs0
RButton →←::~
みたいな書式なら楽だな

ってか、マウ筋みたいだ
423 :名無しさん@お腹いっぱい。[sage]:2008/04/10(木) 22:35:21 ID:Z+zxLkTQ0
マウ筋をAHKに移行したいのだがマウ筋でつくった設定が膨大すぎてやる気が起きんw
424 :名無しさん@お腹いっぱい。[sage]:2008/04/10(木) 22:39:41 ID:Ys36v7eM0
ttp://www.ms.u-tokyo.ac.jp/~abenori/diary_old/200707.html#200707180
こんなんあるな

はやらせるページに比べたらはるかに低機能だが
425 :419[sage]:2008/04/10(木) 23:29:26 ID:zeB47hBY0
>>424

これは具体的にどうすればいいんでしょう?

ラベルで振り分けるようにしてみました.
マウ筋 に近い挙動にしたつもり.これをincludeして,
設定ファイルにはMG_****(****にはジェスチャの動作を入れる)なるラベルを書けばいいです.
プログラム名とかも指定できて,次のような感じ.
426 :419[sage]:2008/04/10(木) 23:30:29 ID:zeB47hBY0
include?
設定ファイル?
ahkに上の文章を書き込むだけじゃダメ?
427 :名無しさん@お腹いっぱい。[sage]:2008/04/11(金) 03:08:21 ID:uA7AvC520
自分で試行錯誤できないなら止めとけよ。
428 :名無しさん@お腹いっぱい。[sage]:2008/04/11(金) 18:19:46 ID:Pc4g0Pb20
::無変換+E
~vk1Dsc07B & e::Edit
こんなんやってるんだけどIMEオン時にひらがな、カタカナ、半角カタカナと切り替わるんだけど
この切り替わるのを無効に出来ないですか?
429 :名無しさん@お腹いっぱい。[sage]:2008/04/11(金) 22:53:50 ID:JQHzlaNh0
>>428
IME側の設定を変えるのが良いかと思う
430 :名無しさん@お腹いっぱい。[sage]:2008/04/11(金) 23:30:02 ID:1LAD2LgE0
~消して、IMEがOnかOffかを調べてOnだったら無変換送らないようにするとか
431 :名無しさん@お腹いっぱい。[sage]:2008/04/11(金) 23:57:14 ID:8JtpLxde0
>>429
あーそこ忘れた。
ありがとう

430もありがとう
432 :名無しさん@お腹いっぱい。[sage]:2008/04/16(水) 13:59:42 ID:QOZL0eII0
メインスクリプトAとサブスクリプトBがあって、それぞれ共通の変数cを使いたいんだが
いわゆる戻り値という形で変数を使いたい場合はどのようにすればいいかな?
今はその方法がわからないので、iniに読み書きすることでどうにか対応してるけど
もっとスマートな方法があったら教えてくれないか
一応スクリプト晒す

A
;回数入力-確認
;c ループ回数
runwait B.ahk
iniread,lc,ahk.ini,変数,c
msgbox,ループ回数 %c%
433 :名無しさん@お腹いっぱい。[sage]:2008/04/16(水) 14:02:29 ID:QOZL0eII0
つづき

B
;回数入力
;d ループ回数
loop
{
inputbox,d,回数入力,繰り返す回数を入力(1-999)
;Cancelを押した場合
;iniに0を書き出してmsgbox出してループ脱出終了
if errorlevel<>0
{
iniwrite,0,ahk.ini,変数,c
msgbox,終了します
return
}
;1~999の数字を入力した場合
;iniにdを書き出してループ脱出終了
if d between 1 and 999
{
iniwrite,%a%,ahk.ini,変数,c
return
}
;1~999以外の数字を入力した場合
;msgbox出してループ戻り
else
msgbox,回数は1-999の間で入力
}

Bはいろいろなスクリプトで使いまわしたいので
それぞれ独立した形でどうにか実現したいんだ・・・
434 :名無しさん@お腹いっぱい。[sage]:2008/04/16(水) 17:55:30 ID:KChtUcd/0
Bを関数化して汎用ライブラリにすりゃいいんじゃないの?
AなりCなり好きなメインスクリプトから Includeして使えばいい
435 :名無しさん@お腹いっぱい。[sage]:2008/04/16(水) 23:07:32 ID:dzf8gFoh0
>>434
(・∀・)デキター
どうもありがとう
436 :名無しさん@お腹いっぱい。[sage]:2008/04/16(水) 23:34:07 ID:fqJFcYl60
このスクリプト(ttp://tryhost.net/~catwalk/?AutoHotKey%2FScript%2FFavoriteFinder#k2e37617
動いている人いますか?

こちらでは

Error at line 94.

Line Text: List %FAV_DIR%
Error: This line does not contain a recognized action.

The program will exit.

というエラーになってしまうんですが。
437 :名無しさん@お腹いっぱい。[sage]:2008/04/16(水) 23:44:44 ID:nEMDvuYT0
そんな行はないぞ。手を入れてないか?
438 :名無しさん@お腹いっぱい。[sage]:2008/04/16(水) 23:46:22 ID:xXoSaRM/0
変数内の文字列で条件分岐したいのですが、
Tabってどうやって検索すればよいのでしょうか。
\tでも`tでもないんですね。
439 :名無しさん@お腹いっぱい。[sage]:2008/04/16(水) 23:54:27 ID:fqJFcYl60
>>437
FavoriteFinder.ahk の94行目を global List, FAV_DIR に変更したら一応動いたんですが
リストが取得できていないようです。

手を加えたのは12行目のMigemoOpenのところだけです。
440 :名無しさん@お腹いっぱい。[sage]:2008/04/17(木) 01:01:28 ID:tiSAGbZG0
>>438
%A_Tab%
441 :名無しさん@お腹いっぱい。[sage]:2008/04/17(木) 07:48:16 ID:pTaNcO/h0
;; EBWinで辞書検索
#s::
clipboard=
Send,^c
ClipWait
SetEnv,word,%clipboard%
run,C:\applications\EBWin\EBWin.exe /C=1 /S=%word%
return
442 :名無しさん@お腹いっぱい。[sage]:2008/04/17(木) 08:27:20 ID:BPEkA5hT0
>>439
気になったので調べてみたよ。

Files = %Files%%fn%`n

ret = %ret%%FAV_DIR%%item%.url`n



Files := Files . fn . "`n"

ret := ret . FAV_DIR . item . ".url`n"

に変える。

`nが何故か消えちゃって全部つながっちゃうのが原因だったみたい。AHKのバグなのかな??
しかし、作者さんの言うように検索がどうもうまくいかないみたい。
443 :名無しさん@お腹いっぱい。[sage]:2008/04/17(木) 08:48:06 ID:BPEkA5hT0
訂正:

ret = %ret%%FAV_DIR%%item%.url`n

の方は修正しなくても大丈夫みたい
444 :名無しさん@お腹いっぱい。[sage]:2008/04/17(木) 15:59:55 ID:pTaNcO/h0
>>442-443
ありがとうございます。

まだ使い始めたばかりなんですが色々できて面白そうですね。
445 :名無しさん@お腹いっぱい。[sage]:2008/04/18(金) 01:51:41 ID:4Mol9YLc0
Send系で、^や+等の特殊キーやアルファベットの大文字等のShiftを押しながら入力する文字が化けることってない?
^vで貼り付けをしたはずが単にvだけだったり、括弧()を入力したはずが89になったりとか…
Delayの値を増やしても時々発生するしバグなのかな
446 :名無しさん@お腹いっぱい。[sage]:2008/04/18(金) 09:22:21 ID:Tx6njfDx0
>>440
助かりました。ありがとうございます。
447 :名無しさん@お腹いっぱい。[sage]:2008/04/18(金) 18:10:02 ID:VCKaK5TL0
;Mac用ユーティリティ Smart Scroll X にlogiマウスのフリースピンっぽいことができるスクロールに慣性つける機能があるけど
;Win用ユーティリティでそれができるものがたぶんないと思うので作ってみたがが・・できたものは別物orz

;ホイールを速く回せば連続スクロールに変わり逆回転で止める(連続スクロール中に速度を変えることもできない・・
~WheelDown::
Wheelstate:=1 ; スクロールUpの停止条件
If (A_EventInfo > 2) ; ホイールの速度が設定値を超えると連続スクロール
Loop, 100 { ; 暴走対策・・
Sleep, 30 ; スクロール速度調整用のウェイト
Acceleration:=A_EventInfo*A_EventInfo*A_EventInfo ; スクロール加速度・・とりあえず3乗してみた
Loop,%Acceleration% {
if (Wheelstate=0) ; WheelUpが入力されるとスクロール停止
return ; breakしないでもいいんだろうか?
send,{WheelDown}
}}
return
~WheelUp::
Wheelstate:=0 ; スクロールDownの停止条件
If (A_EventInfo > 2)
Loop, 100 {
Sleep, 30
Acceleration:=A_EventInfo*A_EventInfo*A_EventInfo
Loop,%Acceleration% {
GetKeyState, Wheelstate, WheelDown
if (Wheelstate=1) ; WheelDownが入力されるとスクロール停止
return
send,{WheelUp}
}}
return

; これをもっとまともにできないだろうか・・?
【最近見られたスレッド】

 鯖応答 302 バーボン規制中 unkar ver 5.25