AutoHotkey スレッド ..
32:名無しさん@お腹いっぱい。
08/02/01 18:32:39 VhWABfjI0
どこかでループに入ってるだけじゃないの
OnClipBoardChangeとかでそれやるとそうなると思うけど
それにしても挙動がおかしいわけじゃないので精進あるのみ
33:名無しさん@お腹いっぱい。
08/02/02 22:56:17 KxCafLCj0
普段は無変換をAltにして、変換中の文字列がある時は
無変換のままにするには、どうしたらいいでしょうか?
ImmGetContext
ImmGetCompositionString
ImmReleaseContext
で何とかしようとしたんですが、ImmGetContextが
HIMCを返してくれず、つまってしまいました。
34:名無しさん@お腹いっぱい。
08/02/03 07:50:55 rBQILGNE0
>>11
そうかもしれんが
とりあえずグッジョブ!!
オレも同じ気持ちだ
35:名無しさん@お腹いっぱい。
08/02/04 08:09:41 lNDxtde70
トグルでのリマップ、具体的には
;1 キーボード左手ホームポジション付近にテンキーを配置
;2 と同時にマウスホイルを横スクロール化する
ってのを本家のForumからのコピペを継接ぎして動作確認取ったんですよ。
で、本題、そこに更にSandS実装したらテンキー部分が1と2は死んじゃったんです。
使わせてもらったのはコレ
URLリンク(sadat-studio.net)
他に変換キーとの同時押し、無変換キーとの同時押しで色々割り振ってるけどそっちは問題ないんです。
(最後にSandS付足したらトグルテンキー&スクロールが死んだ)
なんとか粗探ししてもらえませんか?
やりたいこと纏めた画像とコードも晒しときます。
URLリンク(rainbow.sakuratan.com)
36:名無しさん@お腹いっぱい。
08/02/04 08:12:14 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:名無しさん@お腹いっぱい。
08/02/04 08:12:48 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:名無しさん@お腹いっぱい。
08/02/04 10:54:47 1sw7KKiW0
>>32
これはバグでしょう。
クリップボード「c\windows」
clipboard := RegExReplace(clipboard, "\\", "_")
→ c_windows
clipboard := RegExReplace(clipboard, "\\", "\\\\")
→ c\\\\\\\・・・無限に
どの正規表現ライブラリで実行してもこんな結果にならない。
というか、最初のマッチ文字は置換対象文字の影響を受けないのが正規表現の仕様のはず。
39:名無しさん@お腹いっぱい。
08/02/04 13:58:05 lxZerH8t0
だから、スクリプトの書きミスで再帰的に
その行が実行されちゃってるんじゃないの?
clipboard = c\windows
clipboard := RegExReplace(clipboard, "\\", "\\\\")
ExitApp
これだけをAHKとして実行したら無限になんかならないよ?
40:名無しさん@お腹いっぱい。
08/02/04 15:19:54 hiCAfNGc0
>32も指摘してる通り OnClipboardChange: イベントでループしてんじゃないの?
てか検証して欲しいなら どういう条件でコードが実行されるのかイベントやラベルも含めて晒せよ
あと、OSとAHKのバージョンもな。
それと本当にバグを見つけたんならここだけで話終わらせないで公式に報告汁
適当な機械翻訳でもサンプルソースとかで意図さえ伝わればフィードバックしてもらえるよ。
41:名無しさん@お腹いっぱい。
08/02/04 18:37:52 NF7nd3YZ0
意図しない挙動をして質問する時は、>>40の言うように
その環境と再現する最小の例を出さないと、要エスパーになる
まあ、処理系のバグのせいにする時は、99%凡ミスしてるんだけどなw
42:名無しさん@お腹いっぱい。
08/02/04 19:58:32 dA0g5f860
流行らせるページって公式に許可取ってるの?
勝手に本まで出して。
43:名無しさん@お腹いっぱい。
08/02/04 20:12:43 lzI8duyb0
>>42
公式サイトのトップページからリンクされてる
勿論それが許可を取った証拠にはならないが、公認されているのは間違い無いな
44:名無しさん@お腹いっぱい。
08/02/04 20:22:49 e8nuEEnl0
流行らせるページって本当に流行らせたかったら
サイトデザイン変えるのが先だろうと思ってしまう
45:名無しさん@お腹いっぱい。
08/02/04 20:25:33 YiEZp6JU0
つーか、GPLな物の本を出すときに許可をとる必要あるの?
46:名無しさん@お腹いっぱい。
08/02/04 20:52:03 dA0g5f860
このレスの速さw
本人常駐かよ。
47:名無しさん@お腹いっぱい。
08/02/04 20:53:44 se7bcYAi0
ID:dA0g5f860
48:名無しさん@お腹いっぱい。
08/02/04 21:01:45 T+oEl9Ya0
ちょっと調べれば間違いだと分かることで難癖をつけたり、
やたら他人の財布の中身に執着するし、前スレの奴かもな。
>>45
つーか、大体のPC系の解説本って無許可なんじゃね?
49:名無しさん@お腹いっぱい。
08/02/04 21:21:30 XZ2S5i9N0
AHK付属させるとかじゃなければメールで知らせる程度だろう
てか、某厨雑誌とか断っても既にメディアにプレスしてしまったから
掲載させろとか言ってくるんだぜ?w
50:名無しさん@お腹いっぱい。
08/02/04 23:47:13 zQqzFbOH0
GPLだからなんの問題もないよ。
世の中にあるlinux解説サイトとかlinux本とか
全部linusの許可もらってるとでも思ってんのか。
51:名無しさん@お腹いっぱい。
08/02/05 00:04:13 UKfPXss30
5ボタンくん再臨だな
52:35
08/02/05 06:38:40 fCMPtgDt0
華麗にスルーですかそうですか
自分でやってみるよ…
53:名無しさん@お腹いっぱい。
08/02/05 12:06:58 ri+tJX5c0
本なんて出てるんだ。
っつーかあの日本語はオタ特有だよね。
大量にあるのに何が言いたいか相手に伝わらない。
英語ヘルプの方が分かりやすい。
>>35も何が言いたいのかさっぱりわからん
54:名無しさん@お腹いっぱい。
08/02/05 12:49:31 UKfPXss30
いいたいことは分かるが検証するには量多すぎて付き合いきれんw
55:名無しさん@お腹いっぱい。
08/02/05 12:54:07 K8ltHUV00
あれ本て言うのか、、
56:名無しさん@お腹いっぱい。
08/02/05 15:55:19 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:名無しさん@お腹いっぱい。
08/02/05 16:33:45 TVchypt10
>>33みたいな日本語を書く人はちゃんと学校を出たのかと心配になる
58:35
08/02/05 18:54:52 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:名無しさん@お腹いっぱい。
08/02/06 18:01:25 pvAifRzL0
IME の On/Off の切り替えじゃなくて
IME を Off にすることはできるでしょうか? (On/Off に関係なく)
60:名無しさん@お腹いっぱい。
08/02/06 18:10:00 d8898FGG0
onだったらoff,return
offだったらreturn
61:名無しさん@お腹いっぱい。
08/02/06 19:27:15 pvAifRzL0
???
On/Off 関係なく IME を Off にしたいんですけど。。。
62:名無しさん@お腹いっぱい。
08/02/06 19:37:51 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:名無しさん@お腹いっぱい。
08/02/06 19:38:04 tpln78Ks0
例えば無変換なら
vk1Dsc07B::IME_OFF("A")
64:名無しさん@お腹いっぱい。
08/02/06 19:42:14 EgdTkP180
なんか忘れてない?
65:名無しさん@お腹いっぱい。
08/02/06 22:01:48 AYbDX1cI0
質問です。
Edit コントロールに入力した文字列を utf-8 として取得したいのです。
クリップボード経由 Transform,,Unicode で出来そうなのですが、
もっと直接的な方法はないでしょうか。
66:名無しさん@お腹いっぱい。
08/02/06 22:48:54 EdJE6v3t0
ControlGetは?
67:名無しさん@お腹いっぱい。
08/02/07 18:37:55 eh09GcLw0
>>62
ありがとうございます。最高です!
回数を指定してキーを送る時に、IME がオンの時に困っていました。
1000 文字とか送るので (マクロの止め方がわからないし。。)
68:65
08/02/07 21:31:30 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:名無しさん@お腹いっぱい。
08/02/08 12:45:20 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:名無しさん@お腹いっぱい。
08/02/08 12:52:10 2F8NJJop0
なまずってのはアフィ厨じゃないんだな。珍しく
71:名無しさん@お腹いっぱい。
08/02/08 13:40:56 DDRTnBHp0
流行らせるさんのMouseGesture2の
MouseGesture.iniでDGInterval=0が初期値なのはなぜだろう
X1ダブクリが効かなくて悩んだのでメモ
他で不具合が出るのだろうか
72:名無しさん@お腹いっぱい。
08/02/08 14:46:43 DDRTnBHp0
あとフォーカスを持ってないコントロールの上での
ホイールUPのみ、ホイールDOWNのみで起動したいアクションがうまくいかない
フォーカスを持っているコントロールに送られてしまう
73:名無しさん@お腹いっぱい。
08/02/08 14:54:50 DDRTnBHp0
あああああorz
ごめんなさいごめんなさいごめんなさい
>>71 readmeに書いてあったああ
>>72 アクティブにしてからsendでできたあああ
ごめんなさいごめんなさいごめんなさいorz
74:名無しさん@お腹いっぱい。
08/02/08 16:46:59 osns6GEA0
>>72
つ流行らせるページ
75:名無しさん@お腹いっぱい。
08/02/08 19:26:07 4jp9yaxv0
ahk2exe コマンドライン
/icon を指定しないとエラー吐いて終わるようになってるね。(2007/11/21 ver)
何気に不便だ。
76:名無しさん@お腹いっぱい。
08/02/08 19:40:26 Uv76QAMz0
>75
Version 1.0.47.05 のこと?
ならないよ。正常作動。
77:名無しさん@お腹いっぱい。
08/02/08 20:11:44 4jp9yaxv0
GUI立ち上げて Custum icon の項をクリアしたらいけました。お騒がせしてスマソ
そういえば以前もはまったんだったわ、これ。
Ahk2exeって GUIで指定した過去の.icoのパスをレジストリに記憶していて
コマンドライン時も参照するんだよね。テラマギラワシス
78:名無しさん@お腹いっぱい。
08/02/09 14:06:51 /ZUYXnzs0
>>71
MouseGesture2はMG_Edit.ahkいじって直さないと厳しい。
ジェスチャ指定の方向ボタン押すと別の方向が入力されたり、
条件定義のどれかor全てに一致が反映されなかったりする。
.ahkいじって直すといい。AHKを知るのに役立つからそれが狙いかも。
79:名無しさん@お腹いっぱい。
08/02/09 15:26:25 mPAFufKZ0
ahkで作ったテキストボックスに日本語を入力しようとすると妙にもたつくというか表示されません。
解決法はありますか?
80:名無しさん@お腹いっぱい。
08/02/09 15:41:10 WRA8epLk0
未解決だね
AutoItのGUIは日本語徹っぽいな
しかし今から覚えるのまんどー
81:名無しさん@お腹いっぱい。
08/02/10 18:32:17 urNrftPm0
>>80
ありがとうございました。別の方法を探して見ます。
82:名無しさん@お腹いっぱい。
08/02/11 21:11:16 PEDtGQkM0
5ボタンマウス買ったので早速いろいろやってみようと思ったら
Xbutton1:: MsgBox, Xbutton1 Pressed
Xbutton2:: MsgBox, Xbutton2 Pressed
が全く無視されちゃうんですがJoy?同様イベントとしては発生しないんですか?
83:名無しさん@お腹いっぱい。
08/02/11 21:20:58 D69x2CQo0
logitecのマウスだとsetpointの設定によっては
サイドボタンはXButton1とかじゃなくなってるよ。
設定かえればいける。
MSのマウスは知らない。
84:名無しさん@お腹いっぱい。
08/02/11 22:33:02 PEDtGQkM0
なるほど、意味はわかったけどIntelliPointの設定とAHKが連携してくれない。
Browser_BackやNumpadDivなんかに割り当ててみても反応しない。
画面を4分割してサイドボタンクリックしたときのマウスカーソルの位置で
仮想デスクトップを切り替えようと目論んでいたんだけど・・・
ともかくありがとうございます。
85:名無しさん@お腹いっぱい。
08/02/12 02:33:53 UVg/XF8b0
ahkのトレイアイコンをダブルクリック、ctrl+k でキーヒストリ見れるよ。
86:名無しさん@お腹いっぱい。
08/02/12 20:29:17 OVFZxKUz0
RegExReplaceで改行の「_」にしたいのですが、
str := RegExReplace(str, "`r`n|`n|$|\z|\Z", "_") とやっても目的どおりになりません。
元データ
aaa
bbb
ccc
理想
aaa_bbb_ccc
実際
aaa
bbb
ccc_
87:名無しさん@お腹いっぱい。
08/02/12 22:44:37 uKCFPiBm0
>>75
これかな?
AVG - all ahk script infected
URLリンク(www.autohotkey.com)
88:名無しさん@お腹いっぱい。
08/02/12 23:02:33 IGJgXqVN0
>>86
Str = aaa`r`nbbb`r`nccc
str := RegExReplace(str, "`r`n|`n|$|\z|\Z", "_")
MsgBOx, %STr%
ExitApp
ばっちりaaa_bbb_cccになったよ
89:名無しさん@お腹いっぱい。
08/02/13 10:04:08 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:名無しさん@お腹いっぱい。
08/02/13 12:04:52 1HOMoDij0
再現した。
GUIからSUBMITされた`r`nは既にエスケープされてる
StringReplace, MyText1, MyText1, ``r, `r, 1
StringReplace, MyText1, MyText1, ``n, `n, 1
これ入れたら上手くいった
もし正規表現によるGUI置換スクリプトなら
素直に「\r\n」を利用すればいい気もする
91:名無しさん@お腹いっぱい。
08/02/17 16:36:12 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:名無しさん@お腹いっぱい。
08/02/17 19:46:55 nXi1dMsx0
俺はTypeMatrix風中央配置してみた
TY=Tab、GH=Return、BN=BS
片方BTab、ShiftReturn、Delもいいかもしれん…
93:名無しさん@お腹いっぱい。
08/02/17 22:24:58 z5JlTnrn0
先生教えてください。二つのスクリプトを瞬時に交互に切り替えしたいのです。
例としては、PauseキーでAutoHotkey2を読み込みAutoHotkey1をアンロード、
逆にScrollLockキーでAutoHotkey1を読み込みAutoHotkey2をアンロード、
って事をしたいのですがおせーてください。
つまらない物だけど置いていきます。
ScrollLockでサスペンド、Pauseでサスペンド復帰+リロードです・・・
vk91::Suspend on
pause::Suspend
vk13::Reload
94:名無しさん@お腹いっぱい。
08/02/17 23:21:53 Z8h8m2Kn0
Autohotkey1.ahk
Pause::
{
run, Autohotkey2.ahk
ExitApp
}
Autohotkey2.ahk
ScrollLock::
95:名無しさん@お腹いっぱい。
08/02/18 00:09:02 WTKVYZXY0
Locks系の挙動は二バイト圏OS環境下では不定だぞ。他のキーに割り当てたほうが無難じゃね?
何がやりたいんだか知らんが、わざわざ2つに分けて行き来しなくても
一個のスクリプトでフラグかなんか立ててスイッチングすればいいんじゃね?
96:名無しさん@お腹いっぱい。
08/02/18 12:29:42 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:名無しさん@お腹いっぱい。
08/02/18 15:21:57 tGp4/4e6P
どうやら、SC_SCREENSAVE はアクティブウインドウだけが
受け取れるようです。別の方法を模索します。
失礼しました。
98:名無しさん@お腹いっぱい。
08/02/18 23:25:28 DgQUWzko0
有難う先生、出来ました。やはりLock系の挙動怪しいです、無効化してみます。
一応メモ。
Autohotkey1.ahkは
Pause::
{
run, Autohotkey1.ahk
ExitApp
}
vkF0:: Send, ]
ScrollLock::return
Autohotkey2.ahkは
ScrollLock::
{
run, Autohotkey2.ahk
ExitApp
}
Pause::return
99:名無しさん@お腹いっぱい。
08/02/18 23:43:54 9kfLohoxP
わざわざ2つのahkファイルに分けてる意味がわからん。
hotkeyコマンド使うだけじゃあかんの?
100:名無しさん@お腹いっぱい。
08/02/19 00:01:25 w7qvM9gV0
まあ、追々洗練されていけばええやろ
まずは目的の成就じゃ
101:名無しさん@お腹いっぱい。
08/02/19 14:13:24 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:名無しさん@お腹いっぱい。
08/02/19 16:14:10 eL27GtwT0
特定のアプリにキーを送らないようにするのってどう書けばいいの?
アクティブじゃなくてもキー監視してるようなアプリにALT押しても伝わらないようにする、みたいな
103:名無しさん@お腹いっぱい。
08/02/19 17:04:27 w7qvM9gV0
ALT押した瞬間にそいつのProcess落として
上がったら再起動みたいなことを考えたけど
騒がしすぎるな
104:名無しさん@お腹いっぱい。
08/02/19 19:03:06 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:名無しさん@お腹いっぱい。
08/02/21 14:46:40 Oj5PAiTN0
少し教えてください。
AHKで全てのキー入力を受けつけないようにするには、どうすればいいでしょう?
どこかで見たような気がするのですが、失念してしまいまして。。。
106:名無しさん@お腹いっぱい。
08/02/21 14:57:41 Oj5PAiTN0
すいません、BlockInput,On でした
107:名無しさん@お腹いっぱい。
08/02/21 16:38:07 Iioijznk0
clipboad中にある複数行文字列の各行頭に_をつけたいのですが、
RegExReplace(clipboard, "(^|\A)", "$1_")ってやってもうまくいきません。
「$」でも各行の先頭として扱われるはずなんですが・・・
108:名無しさん@お腹いっぱい。
08/02/21 17:09:11 VNWGrxeP0
RegExReplace(clipboard, "\n", "$1_")
根本的解決かは分かりかねます
109:名無しさん@お腹いっぱい。
08/02/21 18:13:01 j1dzQgRf0
>>107
RegExReplace(Clipboard, "m)^", "_")
110:名無しさん@お腹いっぱい。
08/02/21 18:13:26 Kx0P4/xT0
RegExReplace(Clipboard, "(^|\n)([^$])", "$1_$2")
111:名無しさん@お腹いっぱい。
08/02/21 18:17:26 Kx0P4/xT0
げ、リロードしてなかった。なにそれm)なんてあったのか
AHKのおぷすおんかorz
112:名無しさん@お腹いっぱい。
08/02/21 18:50:35 XbxI3LX6P
正規表現で""の間の文字を取得したいのですがどうすればいいでしょうか?
113:名無しさん@お腹いっぱい。
08/02/21 19:08:08 XbxI3LX6P
これだとよく分からないな
RegExReplaceでhtmlファイルから""で挟んであるファイルパスを取得したいのですが
"をエスケープする方法が分かりません、教えてください
114:名無しさん@お腹いっぱい。
08/02/21 19:35:59 VNWGrxeP0
>>20
115:名無しさん@お腹いっぱい。
08/02/21 21:37:15 XbxI3LX6P
>>114
すみませんでした、まさか上にあったとは・・・
116:名無しさん@お腹いっぱい。
08/02/23 02:50:41 I9fxWkUy0
集中して作業してるときに裏で定期的に2chブラウザを更新させたいんですけど
アクティブの時はちゃんと動作するのに非アクティブのときは動作してくれない
#Persistent
SetTimer,OnTimer,180000
return
OnTimer:
DetectHiddenWindows,On
ControlSend,,{F5},jane
return
こう記述して動かしたんですが打開ヒントください
117:名無しさん@お腹いっぱい。
08/02/23 09:33:35 aMzIEKL80
DetectHiddenTextをつかったらどうだろうか
118:名無しさん@お腹いっぱい。
08/02/23 12:49:34 BM2S2vTo0
ControlSendはあんまり確実じゃないし、PostMessageで直接送ったほうがいいかも
119:名無しさん@お腹いっぱい。
08/02/23 17:40:17 I9fxWkUy0
#Persistent
SetTimer,OnTimer,180000
return
OnTimer:
PostMessage,0x0100,0x74,,,jane
return
としてみたけど>>116と同じorz
IfWinNotActiveでWinActivate噛ますと動くからキーは送られてるはずだけど
これだとバックグラウンドじゃなくなって作業に集中できない
Sleipnirで試したら非アクティブでも動作したから
Janeがめんどくさいアプリなんだろうか
120:名無しさん@お腹いっぱい。
08/02/23 17:54:35 BM2S2vTo0
controlのwhndを指定してないからじゃないの?
121:名無しさん@お腹いっぱい。
08/02/23 18:18:49 iAdFn35I0
俺も以前それやろうとしたけど、非アクティブのままではどうしても無理だったよ
122:名無しさん@お腹いっぱい。
08/02/23 18:41:25 I9fxWkUy0
そっか
janeというかdelphiと相性悪いんかな
ありがとうこれは諦めるしかなさそうだな
123:名無しさん@お腹いっぱい。
08/02/23 18:55:22 2+9m9zE60
0x0100が間違いなだけ
124:名無しさん@お腹いっぱい。
08/02/23 20:27:32 I9fxWkUy0
0x0290にしてみたけどダメだった
これ以上は昨日今日触り始めたにわかには見当がつかない
125:名無しさん@お腹いっぱい。
08/02/23 21:17:01 gYw1NOEI0
もれは「U」でスレ更新にしてんだけど
ControlSend, THogeTextView1, u, ahk_class TMainWnd
これで出来たような気がするよ
126:名無しさん@お腹いっぱい。
08/02/23 21:18:14 gYw1NOEI0
と思ったら最小化してるとダメだった
127:名無しさん@お腹いっぱい。
08/02/23 22:34:41 UVUXjl/U0
SmartGUI Createrなんてこんなのあったんだな。。。
これでGUIの簡単なアプリケーションが簡単に作成できると思う?
128:名無しさん@お腹いっぱい。
08/02/23 22:57:37 UVUXjl/U0
URLリンク(www.flib.jp)
AutoHotKeyアンオフィシャルガイド
これ読んでみたいと思うのですが パソコンで読むとかなり字が小さく、スクリーンショットとか
見にくいので、購入して本の形で紙媒体で読みたいと思うのですが
これはどうすれば購入できますか?Amazonにもありませんでした。
どこで買えるか、価格等教えて頂けないでしょうか?
129:名無しさん@お腹いっぱい。
08/02/24 01:42:11 6JA246NX0
紙媒体で売られていないかもしれない、という可能性は頭にないの?
130:名無しさん@お腹いっぱい。
08/02/24 01:42:19 2nfJaqtf0
AutoHotKeyのキーワードの強調表示や、自動インデント機能のついたフリーのテキストエディタ
はありませんか?EdVixと言うのを流行らせるページの作者は使用されていらっしゃるようですが
あれはAutoHotKey用のキーワードリストがあらかじめ登録されてないので、1個ずつ登録
しないといけないと思うので、大変そうだから あらかじめAutoHotKeyの文法やキーワードを
内包してあるようなエディタがあれば非常に助かるのですが、皆さんはどのエディタを使って
コードを書いていますか?もし無ければTerapadで頑張るしかないかなぁと思っているのですが・・・。
131:名無しさん@お腹いっぱい。
08/02/24 01:56:24 6jheKtSz0
>>130
「"インストールディレクトリ"\Extras\Editors」以下を参照
それと秀丸
URLリンク(lukewarm.s101.xrea.com)
132:名無しさん@お腹いっぱい。
08/02/24 02:25:48 2nfJaqtf0
>>131
レスありがとうございます。
\Extras\Editorsの中身のフォルダ名はそのままテキストエディタ名になってるように
見えますが「vimとかLinuxにあるテキストエディタだし・・・」、普通はココにあるテキストエディタ
でしか使えないんですかね?
それを
URLリンク(lukewarm.s101.xrea.com)
で秀丸でも使えるようにAutoHotKeyでスクリプトを作成されてらっしゃるんですよねぇ?
しかし秀丸はシェアウェアで、5000円弱と結構高い・・・。それと私は>>130で
>AutoHotKeyのキーワードの強調表示や、自動インデント機能のついたフリーのテキストエディタ
>はありませんか?
と書かせて頂いた様に、フリーのテキストエディタを使いたいのですが、無理でしょうか?
133:名無しさん@お腹いっぱい。
08/02/24 02:56:49 yh7rF/YE0
>>125
ControlSendrawでうまくいったようないかなかったような
134:名無しさん@お腹いっぱい。
08/02/24 03:22:39 JnW9YY6g0
>132
vim は windows でも使えるし。
というか AutoHotKey 自体が windows 用のソフトなんだから
windows で使えないエディタの Syntax ファイルなんて同梱するはずないだろ。
あと言われたところちゃんと見てねーだろ。
Extras/Editors/Syntax
135:名無しさん@お腹いっぱい。
08/02/24 06:22:30 T2DQ4K+Y0
AHKでスクリーンセーバーの終了を監視したいのですが、どのようにしたらよいでしょう?
スクリーンセーバーのクラス名を調べる方法が分からず、行き詰まっています。
136:名無しさん@お腹いっぱい。
08/02/24 10:07:56 2nfJaqtf0
>>134
あ、VimってWindowsでも使えるんですか!?なるほど。
それから、Syntaxの中は後で見てみます、今からでかけるので・・・。
>>135
スクリーンセーバー起動中にPrintScreenキーでキャプチャ出来ない?
そのキャプチャした画像に対してチェックしてみたらクラス名分からない?
137:名無しさん@お腹いっぱい。
08/02/24 11:23:16 39WYzSwe0
これは久々の大物だぞ
138:名無しさん@お腹いっぱい。
08/02/24 12:10:40 o6C/sd5F0
ワロタ
139:名無しさん@お腹いっぱい。
08/02/24 12:34:52 o6C/sd5F0
>>135
アクティブウインドウのクラスとかを記録し続けるスクリプト書けばいいんじゃない
140:135
08/02/24 13:17:57 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:名無しさん@お腹いっぱい。
08/02/24 13:38:54 o6C/sd5F0
うちで>>140動かしていくつか見てみたら
3D テキスト D3DSaverWndClass 0x2e0628
3D パイプ D3DSaverWndClass 0x6504be
Screen Saver WindowsScreenSaverClass 0x1e067e
ブランク スクリーン セーバー ブランク スクリーン セーバー 0x6f04be
とか記録できたよ
142:名無しさん@お腹いっぱい。
08/02/24 14:14:01 KTL9WkTR0
>>141
情報ありがとうございます。
そうすると、当方の環境の問題のようですね。
もうすこし調べてみます。
ありがとうございました。
143:名無しさん@お腹いっぱい。
08/02/24 15:00:24 VNi/LdKj0
>>132
秀丸用強調定義の変換スクリプト作った者だが、
マジレスするとExtras/Editors/Syntax にシンタックスリストのデータがあるので、
それを加工して自分の好きなエディタで使えるように強調表示用ファイルを作ればよい。
今からエディタ選ぶならEmEditorFreeが面倒なくていいんじゃね?
Extras/Editors に EmEditor用定義入ってるし。Free版で使えるのかは知らないが。
144:名無しさん@お腹いっぱい。
08/02/24 17:12:00 2nfJaqtf0
>>143
お疲れ様です!
Syntaxの中に確かに色々ありますねぇ・・・。なるほど・・・っていってもどうやって強調表示用
のファイルを作るのか私には分かりませんけど、例えばこれを加工すればTerapadでも
強調表示出来たりするんですか?
EmEditorFreeをとりあえず試してみます。
AutoHotKey・・・もっと普及してれば色々なエディタがデフォルトで対応してくれたりするのかな?
例えばVBとかHTMLとかは大体のエディタで対応してくれてるじゃないですか?
DOSのBatとか・・・。
145:名無しさん@お腹いっぱい。
08/02/24 17:57:55 MLcE6mEcP
んなグダグダ言ってるくらいなら自分で作って配布すりゃあいいじゃん
146:名無しさん@お腹いっぱい。
08/02/24 17:59:16 2nfJaqtf0
良いの見つけました。Notepad++って言うエディタです。
これならフリーで、しかも
AutoHotkey\Extras\Editors\Notepad++\Run this to install syntax file for Notepad++.ahk
ファイルを実行すれば簡単にインストールまでしてくれて、すぐ使えてイイ!
エディタが無くて困っている人はとりあえずこれがいいんでは?
ただ入力補完まではしてくれないみたいなのが、ちょっと残念・・・。
IfとかLoopとかで改行したら自動的に1個インデントしてくれて、 } で自動的に1個インデントを
削除するとか、そういった機能は無いみたい。惜しいですねぇ・・・。
147:名無しさん@お腹いっぱい。
08/02/24 18:11:43 MLcE6mEcP
見つけましたってw
148:名無しさん@お腹いっぱい。
08/02/24 18:23:28 2vAXBKF20
>>146
プロボクサー相手に『このバンデージの巻き方、ステキでしょ?』ってはしゃいでる様で観ている方がつらい。
釣りじゃないなら(釣りでも)カンベンしてくれ
149:名無しさん@お腹いっぱい。
08/02/24 19:09:37 /p5mKAAI0
Notepad++いいね、ちょっと使ってみよう
>>146 d
150:名無しさん@お腹いっぱい。
08/02/24 19:24:38 plIb52B50
なんでjaneは非アクティブだと動かないんだ
151:名無しさん@お腹いっぱい。
08/02/24 20:14:37 2nfJaqtf0
>>147
そうね、ExtrasのEditorの中にあるもんね。そこから調べて言ったのは言うまでもありません。
>>148
それは「ココの住人は皆プロ(少なくても私よりは)なんだから、そのぐらいとっくに知ってるし、
代替のもっといいエディタを知っている」とかそういう意味ですか?
別に釣りじゃないですよ。 >>149とかいいねって言ってくれてるし、こういう情報を書き込む事で
有益だと感じる人もいるのでは?貴方にとっては有益でなくても。
152:名無しさん@お腹いっぱい。
08/02/24 20:36:00 uHTMnN4t0
meadow(Emacs)やxyzzyに、akh-modeをインスコするのがいいんでない?
キーワード強調だけじゃなくて、インデントや補完も効いてるよ
ちょっと挙動が怪しいときもあるけどね
つうか、本体に設定が同梱されてるんだから、
それを見つけたとかあんまり大げさに言わないでくれ
ってことでないの?
質問する前に説明書くらい読めよって
153:名無しさん@お腹いっぱい。
08/02/24 20:40:50 uHTMnN4t0
×akh-mode
〇ahk-mode
で、Emacsのは本体同梱のよりも、
ググったら出てくるwebのが新しかったんで、そっちがいいかも
154:名無しさん@お腹いっぱい。
08/02/24 20:57:20 Cwx7cYds0
>>146=149
155:名無しさん@お腹いっぱい。
08/02/24 21:37:27 VNi/LdKj0
まぁ見ればわかるようになっているものを、さも「自分が発見しました!」てな感じで書込んだら
回りは萎えるわな。Notepad++ってそれなりに有名なエディタだし。
エディタ側で用意するのはメジャーである程度枯れた言語でしょ
AHKは開発途上で関数やシンタックスも逐次追加されてってるから追っかけて対応するのは大変
自分もそう思ったから 強調ファイルの配布ではなく、変換スクリプトにしたんだけど。
>>153
>ahk-mode
おお、いつのまにそんなものが。xyzzyでがんばってる人もいるんだな。
何となくあっち界隈の人はahkみたいな言語体形はpgrしてるんだろうなって偏見があった
156:名無しさん@お腹いっぱい。
08/02/24 23:18:53 eDmFu+2K0
unix界隈で有名なprocmailもpgrしてあげて。
157:名無しさん@お腹いっぱい。
08/02/25 00:03:45 39WYzSwe0
AHKには#NoTrayIconという素晴らしいコマンドがあるのを発見しちゃいました!
なんと、これを使うとタスクトレイにあるアイコンが表示されなくなるのです(びっくり!)
まだ知らない人も多いと思うので、皆さんも試してみてはいかが?
私はこれで浮いた時間をコスメに使って彼のハートをげっちゅです!
158:名無しさん@お腹いっぱい。
08/02/25 00:43:00 w28rGXGJ0
あっそ
159:名無しさん@お腹いっぱい。
08/02/25 00:59:30 CkSp6l1c0
>>158
わーい、あっさり釣れちゃったw
160:名無しさん@お腹いっぱい。
08/02/25 01:24:59 CR8nTVZC0
面白いと思ったんだろうな…
161:名無しさん@お腹いっぱい。
08/02/25 01:37:56 cH268g130
すぐ弄れなくなって逆に不便
162:名無しさん@お腹いっぱい。
08/02/25 02:12:01 u9rJ9FnG0
わがままな私を許したまえ・・・・
Notepad++もダメですた。。。
立ち上げるたびにいちいちAutoHotKeyモードにマウスでセットしないといけないし、
なんか使いにくい・・ス・・・。
Terapadでキーワード強調や自動インデント利いてくれれば最高なんだけど
皆さんがAHKスクリプトを書くのに愛用しているエディタとか、紹介して下さったりは・・・しないですよねぇ・・・?
163:名無しさん@お腹いっぱい。
08/02/25 02:37:33 c6xAHJsD0
xyzzyでahk-mode使って書いてるよ
>>152でも書いたけど、強調だけじゃなくてインデントや補完もしてくれるよ
けど、インデントがおかしくなったりもするんで、
試してないけどmeadow(Emacs)もどうぞ
xyzzyに移植した人がベースにしたのよりバージョンが進んでるから、
もしかしたら解決してるかも
もし導入するなら、wikiがあるから読んでみて
164:名無しさん@お腹いっぱい。
08/02/25 03:28:17 m5sVBzv/0
notepad++使ったことないけど
普通ファイル拡張子に対応してモード切りかえてくれるみたいな
機能あるんじゃないの?
そのくらい自力で設定できないとvimもemacsも使えないと思うけど。
165:名無しさん@お腹いっぱい。
08/02/25 10:56:15 YFbRMEPB0
>>162
その嫌味ったらしい文章いい加減にせーよ
もし自覚無しに今までのような文を書いていたとするなら正直、性格に大きな問題があると思う
わざとやってるならもうシラネ
166:名無しさん@お腹いっぱい。
08/02/25 11:10:53 6u3azxFT0
>>162
自分で道を切り開く気概がないのなら、おとなしく金を出して秀丸かEmのシェア版をつかっとけ。
気概があるのなら>>131のスクリプトをTeraPad用に書き換えてうぷしたら結構な人数から感謝されると思うが。
167:名無しさん@お腹いっぱい。
08/02/25 11:27:24 Ed9FXoJZ0
ひどいのが湧いてるんだな
168:名無しさん@お腹いっぱい。
08/02/25 12:36:04 cV8w8sra0
だから揶揄したつもりだったのに
169:名無しさん@お腹いっぱい。
08/02/25 14:30:41 3LV0fXQU0
エディタの話題自体は悪くないと思うし、他の人の参考になるかもしれんから一応レスするが
いいかげんクレクレの姿勢はやめてんか('A`)
今見てみたけど、サクラや寺の.kwdファイルって1行1ワードの単純表記じゃん。
これだったら Extras/Editors/Syntax/*.txt をほとんど無加工でkwd転用できんじゃねーの?
(寺には任意文字列の強調指定機能自体は存在しない
が、プリセット済言語のキーワード編集は可能なので他の言語枠潰せばOK)
入力補完の形式も同じ、サクラや秀丸ならそのままシンタックスファイル突っ込めば補完してくれる。
サクラや寺なら補完タンも使える。
インデントは、C言語風のインデントとか適当に指定しておけばそれっぽい動作になる。(寺でのやり方は知らん)
以上、頼むから人に聞く前にちっとは調べてくれよ。
170:名無しさん@お腹いっぱい。
08/02/25 15:50:36 I5MAoWVB0
しかしほんとに AutoHotKey 使えてるんだろうか、この人。
171:名無しさん@お腹いっぱい。
08/02/25 16:13:03 Ed9FXoJZ0
>>170がいいこと言った
172:名無しさん@お腹いっぱい。
08/02/25 18:01:24 hdl/wsYC0
Janeをバックグラウンドで操作できないって人
AIRAってソフト使うといいよ.NET製だけど
Jane専用のAIRA Jってのもある
173:名無しさん@お腹いっぱい。
08/02/26 07:16:30 mku3zxtt0
質問です。
Menu,m,show
でメニュー出ている間、そのスクリプトは完全に停止してるんですよね。
それが嫌なら別スクリプトでメニュー出せってことですよね。
174:名無しさん@お腹いっぱい。
08/02/28 02:18:21 YvTJFwHG0
詳しい方、教えてください。
ジョイスティックの接続確認をしたく、以下のようなスクリプトを書いてみました。
1:: Msgbox, % GetKeyState("JoyName")
しかしこのスクリプトではジョイスティック抜去後もジョイスティック名が返ってしまいます。
接続前、あるいはスクリプト再起動後は(期待通りに)ブランクとなります。
しかし最終的には常駐スクリプト内のタイマーで接続確認をしたいので
できればスクリプトの再起動は行いたくないのですが,
他によい方法はないものでしょうか。
175:名無しさん@お腹いっぱい。
08/02/28 14:43:16 PhP4W87s0
「TPanel」というコントロール上のテキストを取得したいのですが、
ControlGetText,var,TPanel,A
とやっても、ErrorLevelは0で成功していますが、テキストは取得できませんでした。
何か他に方法はないでしょうか?
176:名無しさん@お腹いっぱい。
08/02/28 14:43:26 7hkAKIl30
根本解決じゃないけど、ステート取得部分だけを別スクリプトにするとか。
177:名無しさん@お腹いっぱい。
08/02/28 17:40:04 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:名無しさん@お腹いっぱい。
08/02/28 18:40:48 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:名無しさん@お腹いっぱい。
08/02/28 18:44:19 EaHOYdX80
補足:>>177-178は2kでしかテストしてないので他だとどうなるかわからん。
180:名無しさん@お腹いっぱい。
08/02/29 12:38:25 9/5fEks90
タスクトレイのAHKのアイコンからバルーンヘルプ出してくれる機能って無いですか?
181:名無しさん@お腹いっぱい。
08/02/29 14:19:22 mWVpkLJp0
xyzzyというエディタで、右クリック+下方向ドラッグのマウスジェスチャーをしたとき、
Ctrl+w を送信して当該タブを閉じたいのですが、どうすればいいでしょうか?
182:名無しさん@お腹いっぱい。
08/02/29 14:49:23 amtFt0EP0
RButtonでMouseGetPosとって
放されたときとの差分が閾値を越えたらSend
183:名無しさん@お腹いっぱい。
08/02/29 16:48:46 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:名無しさん@お腹いっぱい。
08/02/29 20:12:38 u6+juc6r0
馬鹿みたいな質問で悪いんだけど、
a:: send,F5
ってしたい場合、どうすればファンクションキーのF5にできるの?
185:名無しさん@お腹いっぱい。
08/02/29 20:16:08 CbNqfYyN0
>>184
a:: send,{F5}
186:名無しさん@お腹いっぱい。
08/03/01 00:26:25 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:名無しさん@お腹いっぱい。
08/03/01 00:34:59 ZNinU2520
>>185
ありがとうございます
188:名無しさん@お腹いっぱい。
08/03/01 07:53:26 YXKCq/m60
janeバックグラウンドでもControlSendRawで動いたけどなあ
俺だけか
189:名無しさん@お腹いっぱい。
08/03/01 14:14:15 EIt1A+310
動きません
190:名無しさん@お腹いっぱい。
08/03/01 15:18:39 +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:名無しさん@お腹いっぱい。
08/03/01 15:23:16 +yMSyrKJ0
追記。
メニューは表示しておかないとダメだった。
192:名無しさん@お腹いっぱい。
08/03/01 17:44:24 EIt1A+310
>>190
おお。
これは凄いViewで非アクディブ時に動作した
メニューのコマンドIDの調べ方が見つからなかったから
教えてもらった操作以外できない無能な自分
193:名無しさん@お腹いっぱい。
08/03/01 19:33:31 EIt1A+310
jane styleではこの技使えないっぽいね
コマンドIDがない?
194:名無しさん@お腹いっぱい。
08/03/01 20:03:02 MsKw54Sp0
コマンドIDが違うんだろ。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4375日前に更新/228 KB
担当:undef