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


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

AutoHotkey スレッド part5



1 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/28(月) 15:48:16 ID:LAzeYh1N0]
(テンプレ>>1)
■公式
www.autohotkey.com/

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

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

関連リンク>>2以降も参照

2 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/28(月) 15:48:45 ID:LAzeYh1N0]
(テンプレ>>2)
■関連記事のあるサイト
猫歩き - AutoHotKey
tryhost.net/~catwalk/?cmd=read&page=AutoHotKey
AutoHotkey メモ - Principia
principia.s54.xrea.com/index.php?AutoHotkey%20%A5%E1%A5%E2
AutoHotKey - notitle.txt
kan.s151.xrea.com/?AutoHotKey
TOKKY.COM
www.h3.dion.ne.jp/~tokky/
なまず日記
www.tierra.ne.jp/~aki/diary/
eamatの日記
d.hatena.ne.jp/eamat/
おばけ日記
d.hatena.ne.jp/obake/

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

3 名前:名無しさん@お腹いっぱい。 mailto: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 名前:名無しさん@お腹いっぱい。 mailto: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 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/28(月) 15:50:23 ID:LAzeYh1N0]
わからない七大理由

1. 読まない ・・・説明書などを読まない。読む気などさらさらない。
2. 調べない ・・・過去スレ、ググるなど最低限の内容も自分で調べようとしない。
3. 試さない ・・・めんどくさいなどの理由で実行しない。する気もない。
4. 理解力が足りない ・・・理解力以前の問題で理解しようとしない。
5. 環境のせいにする ・・・自分が悪いのではなく環境が悪いと責任転嫁する。
6. 人を利用することしか頭にない ・・・甘え根性でその場を乗り切ろうとする。
7. バカだから ・・・バカだから。


6 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/28(月) 16:22:45 ID:iT6mqMKp0]
FAQ

AutoHotkeyを流行らせるページよりも
■公式
www.autohotkey.com/
を調べた方が早いしためになる。
はやらせるページで変な広告を踏まないように。
サイト主自身の自演にも気をつけること。

7 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/28(月) 16:23:06 ID:RUz0ESHl0]
>>1
おつです

8 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/28(月) 17:57:40 ID:1WXSlsm10]
英語読めません><

9 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/28(月) 19:05:44 ID:QvDUd8La0]
必要な人は今の内に流行らせるページを保存しておいた方がいいかもね

10 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/28(月) 20:53:13 ID:mX8zLuSg0]
一部の人間以外、みんなわかっていると思うが、
流行らせるページに出てる広告は xrea.com が出してる広告だぞ。
どんなに広告クリックしたって流行らせるページ管理人には一円も入らない。

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

こんな下らないことで管理人にやる気を無くされると困るので言っておく。
日本語の流行らせるページがなければオレは AHK を使う気にならなかったと思う。
オレにとってはとてもありがたいページだ。
無くなると非常に困る。



11 名前:10 mailto:sage [2008/01/28(月) 20:56:28 ID:mX8zLuSg0]
あまりのアホ臭さに、ついカッとなって書き込んでしまったが、
本当は無視した方が良いんだよな。

12 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/28(月) 21:08:56 ID:iglknCZV0]
>>2
TOKKY.COM
www.h3.dion.ne.jp/~tokky/
↑これリンク切れてない?

乙です!

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

14 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/29(火) 01:15:59 ID:Ay5OuFjT0]
^,::Send,{Down}

でも

^,::
Send,{Down}
Return

でも普通にカーソル下を押したように動作するけど?

15 名前:13 mailto:sage [2008/01/29(火) 01:25:19 ID:XdQ+yieA0]
>>14
いま自宅のPCで試したら問題なく動きました.
なぜか会社のノートPCだと「Ctrl+,」が動かなくって困ってたんですが・・・・
なぜなんだ(´・ω・`)
明日また格闘してみます.
レスありがとうございました.

16 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/29(火) 12:40:37 ID:Szetxnxc0]
5ボタンマウスのサイドボタン押したら
アプリ毎に独自のAHKで作ったコンテキストメニュー出すようにしたらめちゃ便利になったぜ。


17 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/29(火) 14:32:03 ID:ajljrKKP0]
タブ一覧をフルパスで出すことは可能ですか?

18 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/29(火) 15:36:31 ID:H396lWxH0]
任意ウィンドウにファイルパスをドロップするのってAHKで実現するとなるとやっぱDllCallあたり?

秀丸上で再編集した AviSynthスクリプトを VirtualDub で開き直したいんだが
秀丸(マクロ起動)→ AHK → CDrop.exe → VirtualDub みたいな感じになってイマイチ美しくない。
CuteExec + CDrop 的なことをAHK単体でできるとスマートになるんだが

19 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/29(火) 17:53:20 ID:ajljrKKP0]
"を,に変更しようとして下記を実行するとエラーになります。
"のエスケープ方法はありますか?

RegExReplace(str, """, ",") → ダメ
RegExReplace(str, "\"", ",") → ダメ

20 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/29(火) 19:28:38 ID:3WMuG5Dr0]
つRegExReplace(str, """", ",")
流行らせるページに書いてあった気がするぞ



21 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/29(火) 20:39:08 ID:BI4JxHKn0]
>>16
それ俺もやってる。便利だよな

22 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/31(木) 16:33:32 ID:shq4HQgO0]
特定のタイトルを含むダイアログがポップしたら
即走り出すスクリプトってどう書けばいいんですか?

23 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/01/31(木) 17:42:19 ID:at/ss03S0]
WinWaitでひたすら待機するか、SetTimerで定期的にウィンドウチェックする

24 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 12:16:53 ID:a0KRVuAu0]
マウスとトラックボールで使う設定を切り替えたいのですが、
特定のキーを押したら設定ファイルを切り替えることはできますか?

25 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 13:39:13 ID:VhWABfjI0]
いくらでもやりようはあるんでは
全部メインINIに書かんでも必要な時に単体AHKで走らせるとか
どういう形で利用したいか次第だけど

26 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 15:22:25 ID:4atLgnwZ0]
ホットキー押下で処理が実行できるように、
マウスを任意のポジション(画面右端など)に持っていくと任意の関数を呼び出すことってできますか?

27 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 15:23:50 ID:USinHq/30]
SetTimerで定期的にカーソルの座標をチェックする

28 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 15:29:07 ID:4atLgnwZ0]
>>27
なるほど!頭が固かった。
ありがとうございます。

29 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 16:03:24 ID:4atLgnwZ0]
#Persistentを入れたら、よく分からないのですがGUI関連の動作が変になります。

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

何か注意事項があれば教えてください。


30 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 16:14:06 ID:VhWABfjI0]
AHK晒す方が早い



31 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 17:21:17 ID:4atLgnwZ0]
なにかRegExReplaceの挙動が変です。
clipboard := RegExReplace(clipboard, "$", "_")

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

これは私だけでしょうか?


32 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/01(金) 18:32:39 ID:VhWABfjI0]
どこかでループに入ってるだけじゃないの
OnClipBoardChangeとかでそれやるとそうなると思うけど
それにしても挙動がおかしいわけじゃないので精進あるのみ

33 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/02(土) 22:56:17 ID:KxCafLCj0]
普段は無変換をAltにして、変換中の文字列がある時は
無変換のままにするには、どうしたらいいでしょうか?
ImmGetContext
ImmGetCompositionString
ImmReleaseContext
で何とかしようとしたんですが、ImmGetContextが
HIMCを返してくれず、つまってしまいました。

34 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/03(日) 07:50:55 ID:rBQILGNE0]
>>11
そうかもしれんが
とりあえずグッジョブ!!

オレも同じ気持ちだ

35 名前:名無しさん@お腹いっぱい。 mailto: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付足したらトグルテンキー&スクロールが死んだ)

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

rainbow.sakuratan.com/data/img/rainbow67867.jpg

36 名前:名無しさん@お腹いっぱい。 mailto: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 名前:名無しさん@お腹いっぱい。 mailto: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 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 10:54:47 ID:1sw7KKiW0]
>>32
これはバグでしょう。

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

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

どの正規表現ライブラリで実行してもこんな結果にならない。
というか、最初のマッチ文字は置換対象文字の影響を受けないのが正規表現の仕様のはず。

39 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 13:58:05 ID:lxZerH8t0]
だから、スクリプトの書きミスで再帰的に
その行が実行されちゃってるんじゃないの?

clipboard = c\windows

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

ExitApp

これだけをAHKとして実行したら無限になんかならないよ?

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

それと本当にバグを見つけたんならここだけで話終わらせないで公式に報告汁
適当な機械翻訳でもサンプルソースとかで意図さえ伝わればフィードバックしてもらえるよ。



41 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 18:37:52 ID:NF7nd3YZ0]
意図しない挙動をして質問する時は、>>40の言うように
その環境と再現する最小の例を出さないと、要エスパーになる

まあ、処理系のバグのせいにする時は、99%凡ミスしてるんだけどなw

42 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 19:58:32 ID:dA0g5f860]
流行らせるページって公式に許可取ってるの?
勝手に本まで出して。

43 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 20:12:43 ID:lzI8duyb0]
>>42
公式サイトのトップページからリンクされてる
勿論それが許可を取った証拠にはならないが、公認されているのは間違い無いな

44 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 20:22:49 ID:e8nuEEnl0]
流行らせるページって本当に流行らせたかったら
サイトデザイン変えるのが先だろうと思ってしまう

45 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 20:25:33 ID:YiEZp6JU0]
つーか、GPLな物の本を出すときに許可をとる必要あるの?

46 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 20:52:03 ID:dA0g5f860]
このレスの速さw
本人常駐かよ。

47 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 20:53:44 ID:se7bcYAi0]
ID:dA0g5f860

48 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 21:01:45 ID:T+oEl9Ya0]
ちょっと調べれば間違いだと分かることで難癖をつけたり、
やたら他人の財布の中身に執着するし、前スレの奴かもな。

>>45
つーか、大体のPC系の解説本って無許可なんじゃね?

49 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 21:21:30 ID:XZ2S5i9N0]
AHK付属させるとかじゃなければメールで知らせる程度だろう
てか、某厨雑誌とか断っても既にメディアにプレスしてしまったから
掲載させろとか言ってくるんだぜ?w

50 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/04(月) 23:47:13 ID:zQqzFbOH0]
GPLだからなんの問題もないよ。
世の中にあるlinux解説サイトとかlinux本とか
全部linusの許可もらってるとでも思ってんのか。



51 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/05(火) 00:04:13 ID:UKfPXss30]
5ボタンくん再臨だな

52 名前:35 mailto:sage [2008/02/05(火) 06:38:40 ID:fCMPtgDt0]
華麗にスルーですかそうですか
自分でやってみるよ…


53 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/05(火) 12:06:58 ID:ri+tJX5c0]
本なんて出てるんだ。
っつーかあの日本語はオタ特有だよね。
大量にあるのに何が言いたいか相手に伝わらない。
英語ヘルプの方が分かりやすい。

>>35も何が言いたいのかさっぱりわからん

54 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/05(火) 12:49:31 ID:UKfPXss30]
いいたいことは分かるが検証するには量多すぎて付き合いきれんw

55 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/05(火) 12:54:07 ID:K8ltHUV00]
あれ本て言うのか、、

56 名前:名無しさん@お腹いっぱい。 mailto: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 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/05(火) 16:33:45 ID:TVchypt10]
>>33みたいな日本語を書く人はちゃんと学校を出たのかと心配になる

58 名前:35 mailto: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 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/06(水) 18:01:25 ID:pvAifRzL0]
IME の On/Off の切り替えじゃなくて
IME を Off にすることはできるでしょうか? (On/Off に関係なく)


60 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/06(水) 18:10:00 ID:d8898FGG0]
onだったらoff,return
offだったらreturn




61 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/06(水) 19:27:15 ID:pvAifRzL0]
???
On/Off 関係なく IME を Off にしたいんですけど。。。

62 名前:名無しさん@お腹いっぱい。 mailto: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 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/06(水) 19:38:04 ID:tpln78Ks0]
例えば無変換なら
vk1Dsc07B::IME_OFF("A")

64 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/06(水) 19:42:14 ID:EgdTkP180]
なんか忘れてない?

65 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/06(水) 22:01:48 ID:AYbDX1cI0]
質問です。
Edit コントロールに入力した文字列を utf-8 として取得したいのです。
クリップボード経由 Transform,,Unicode で出来そうなのですが、
もっと直接的な方法はないでしょうか。

66 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/06(水) 22:48:54 ID:EdJE6v3t0]
ControlGetは?

67 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/07(木) 18:37:55 ID:eh09GcLw0]
>>62
ありがとうございます。最高です!

回数を指定してキーを送る時に、IME がオンの時に困っていました。
1000 文字とか送るので (マクロの止め方がわからないし。。)

68 名前:65 mailto: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 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/08(金) 12:52:10 ID:2F8NJJop0]
なまずってのはアフィ厨じゃないんだな。珍しく



71 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/08(金) 13:40:56 ID:DDRTnBHp0]
流行らせるさんのMouseGesture2の
MouseGesture.iniでDGInterval=0が初期値なのはなぜだろう
X1ダブクリが効かなくて悩んだのでメモ
他で不具合が出るのだろうか

72 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/08(金) 14:46:43 ID:DDRTnBHp0]
あとフォーカスを持ってないコントロールの上での
ホイールUPのみ、ホイールDOWNのみで起動したいアクションがうまくいかない
フォーカスを持っているコントロールに送られてしまう

73 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/08(金) 14:54:50 ID:DDRTnBHp0]
あああああorz
ごめんなさいごめんなさいごめんなさい
>>71 readmeに書いてあったああ
>>72 アクティブにしてからsendでできたあああ
ごめんなさいごめんなさいごめんなさいorz

74 名前:名無しさん@お腹いっぱい。 mailto: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 名前:名無しさん@お腹いっぱい。 mailto: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 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 14:06:51 ID:/ZUYXnzs0]
>>71
MouseGesture2はMG_Edit.ahkいじって直さないと厳しい。
ジェスチャ指定の方向ボタン押すと別の方向が入力されたり、
条件定義のどれかor全てに一致が反映されなかったりする。

.ahkいじって直すといい。AHKを知るのに役立つからそれが狙いかも。

79 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 15:26:25 ID:mPAFufKZ0]
ahkで作ったテキストボックスに日本語を入力しようとすると妙にもたつくというか表示されません。
解決法はありますか?

80 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 15:41:10 ID:WRA8epLk0]
未解決だね

AutoItのGUIは日本語徹っぽいな
しかし今から覚えるのまんどー



81 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/10(日) 18:32:17 ID:urNrftPm0]
>>80
ありがとうございました。別の方法を探して見ます。

82 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 21:11:16 ID:PEDtGQkM0]
5ボタンマウス買ったので早速いろいろやってみようと思ったら
Xbutton1:: MsgBox, Xbutton1 Pressed
Xbutton2:: MsgBox, Xbutton2 Pressed
が全く無視されちゃうんですがJoy?同様イベントとしては発生しないんですか?

83 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 21:20:58 ID:D69x2CQo0]
logitecのマウスだとsetpointの設定によっては
サイドボタンはXButton1とかじゃなくなってるよ。
設定かえればいける。
MSのマウスは知らない。

84 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 22:33:02 ID:PEDtGQkM0]
なるほど、意味はわかったけどIntelliPointの設定とAHKが連携してくれない。
Browser_BackやNumpadDivなんかに割り当ててみても反応しない。

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

ともかくありがとうございます。

85 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 02:33:53 ID:UVg/XF8b0]
ahkのトレイアイコンをダブルクリック、ctrl+k でキーヒストリ見れるよ。

86 名前:名無しさん@お腹いっぱい。 mailto: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 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/12(火) 22:44:37 ID:uKCFPiBm0]
>>75
これかな?
AVG - all ahk script infected
www.autohotkey.com/forum/topic25333.html


88 名前:名無しさん@お腹いっぱい。 mailto: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 名前:名無しさん@お腹いっぱい。 mailto: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 名前:名無しさん@お腹いっぱい。 mailto: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 名前:名無しさん@お腹いっぱい。 mailto: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 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/17(日) 19:46:55 ID:nXi1dMsx0]
俺はTypeMatrix風中央配置してみた
TY=Tab、GH=Return、BN=BS
片方BTab、ShiftReturn、Delもいいかもしれん…

93 名前:名無しさん@お腹いっぱい。 mailto: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 名前:名無しさん@お腹いっぱい。 mailto: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 名前:名無しさん@お腹いっぱい。 mailto: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 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/18(月) 15:21:57 ID:tGp4/4e6P]
どうやら、SC_SCREENSAVE はアクティブウインドウだけが
受け取れるようです。別の方法を模索します。
失礼しました。


98 名前:名無しさん@お腹いっぱい。 mailto: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 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/18(月) 23:43:54 ID:9kfLohoxP]
わざわざ2つのahkファイルに分けてる意味がわからん。
hotkeyコマンド使うだけじゃあかんの?

100 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/19(火) 00:01:25 ID:w7qvM9gV0]
まあ、追々洗練されていけばええやろ
まずは目的の成就じゃ








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

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

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