!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
■配布元
http://ahkscript.org/download/
■前スレ
AutoHotkey スレッド part26
https://egg.5ch.net/test/read.cgi/software/1524647289/
■日本語解説等
AutoHotkey Wik
http://ahkwiki.net
AutoHotkeyを流行らせるページ(ミラー)
http://ahk.xrea.jp/ (不調時は http://hdd.s300.xrea.com/ahk/ )
AutoHotkeyJp(過去ログdatあり)
http://sites.google.com/site/autohotkeyjp/
Autohotkey日本語ヘルプ(chmファイル)
http://www6.atwiki.jp/eamat/
Autohotkey専用うpろだ
http://ux.getuploader.com/autohotkeyl/
簡易スクリプト掲示板
http://pastebin.com/
■派生版
IronAhk (.NET製、クロスプラットフォーム)
https://github.com/polyethene/IronAHK
AutoHotkey.dll (真のマルチスレッド対応など, AHKLの派生)
http://www.autohotkey.com/board/topic/39588-autohotkeydll/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
AutoHotkey スレッド part27
■ このスレッドは過去ログ倉庫に格納されています
1名無しさん@お腹いっぱい。 (ワッチョイ 3b70-YIQo)
2019/04/20(土) 23:32:53.28ID:cTmLtZyf037名無しさん@お腹いっぱい。 (ワッチョイ 5d56-HJzg)
2019/04/26(金) 23:53:20.29ID:VcGv9X7K0 vk1Dsc07B:: ;無変換
Flag += 1 ;判定用に変数に加算していく
If Flag = 1
{
MsgBox,1回目
Return
}
If Flag = 2
{
MsgBox,2回目
※
Return
}
〜〜〜〜〜〜〜〜〜〜〜〜〜中略〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
MsgBox,4回目
Flag = ;変数を空にして1回目に戻る
Return
wikiのサンプルコードに、前回このキーを押してから、3秒以内にこのキーの入力がなければ
Flag=1に戻るコードを組み込みたいんですが、どうしたらいいですか?
※のところに下記コードを入れてみたんですけど何が間違っているんでしょうか?
KeyWait,{vk1Dsc07B},T3
If(ErrorLevel=1)
{
Flag =
}
else
{
}
return
Flag += 1 ;判定用に変数に加算していく
If Flag = 1
{
MsgBox,1回目
Return
}
If Flag = 2
{
MsgBox,2回目
※
Return
}
〜〜〜〜〜〜〜〜〜〜〜〜〜中略〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
MsgBox,4回目
Flag = ;変数を空にして1回目に戻る
Return
wikiのサンプルコードに、前回このキーを押してから、3秒以内にこのキーの入力がなければ
Flag=1に戻るコードを組み込みたいんですが、どうしたらいいですか?
※のところに下記コードを入れてみたんですけど何が間違っているんでしょうか?
KeyWait,{vk1Dsc07B},T3
If(ErrorLevel=1)
{
Flag =
}
else
{
}
return
38名無しさん@お腹いっぱい。 (ワッチョイ 1bdf-KxX0)
2019/04/27(土) 02:54:37.85ID:7YPJPIal0 >>37
ツッコミどころ多いんだがとりあえず仮想キーの書き方は今のバージョンだと
vk1D か sc07B のどちらかにしないとwikiのサンプルコードのままではエラー出る
貼るならちゃんと動くコード貼ろうな
で本題の3秒以内に入力がなければって話だけど、最初のIf分岐の前に
SetTimer, Label, -3000
を入れてサブルーチンでFlagを空にすれば良いだけ
-3000は「3秒後に1回実行」の意味ね
これで3秒以内に無変換押せばFlagは2→3→4と増えて、3秒以内に押さなければ次に押した時は1に戻る
ツッコミどころ多いんだがとりあえず仮想キーの書き方は今のバージョンだと
vk1D か sc07B のどちらかにしないとwikiのサンプルコードのままではエラー出る
貼るならちゃんと動くコード貼ろうな
で本題の3秒以内に入力がなければって話だけど、最初のIf分岐の前に
SetTimer, Label, -3000
を入れてサブルーチンでFlagを空にすれば良いだけ
-3000は「3秒後に1回実行」の意味ね
これで3秒以内に無変換押せばFlagは2→3→4と増えて、3秒以内に押さなければ次に押した時は1に戻る
39名無しさん@お腹いっぱい。 (ワッチョイ 25e5-lypM)
2019/04/27(土) 17:04:01.77ID:wIf5xZ/l0 A_PriorHotkey
A_ThisHotkey
A_TimeSincePriorHotkey
この辺組み合わせて適当に判定文をつくる
A_ThisHotkey
A_TimeSincePriorHotkey
この辺組み合わせて適当に判定文をつくる
40名無しさん@お腹いっぱい。 (ワッチョイ 5d56-HJzg)
2019/04/27(土) 19:45:13.25ID:JMzBdnzD041名無しさん@お腹いっぱい。 (ワッチョイ 2b73-BP9Y)
2019/04/27(土) 22:30:24.55ID:as/WLoHe0 autohotkey で、ファイルから読み取った16進文字列を
変数に格納するエレガントな方法はないでしょうか。
いまのコードは長すぎて・・・
StringLen _len, aStr
uc := 0
loop,%_len%
{
StringMid, c, aStr, A_Index, 1
_code := Asc(c)
if _code in 48,49,50,51,52,53,54,55,56,57
{
uc := uc*16 + _code - Asc("0")
} else if _code in 65,66,67,68,69,70
{
uc := uc*16 + _code - Asc("A") + 10
} else {
uc := uc*16 + _code - Asc("a") + 10
}
}
aStr に入った16進文字列を数値に変換して 変数 uc に格納するコードです。
もっとエレガントな方がいい。
変数に格納するエレガントな方法はないでしょうか。
いまのコードは長すぎて・・・
StringLen _len, aStr
uc := 0
loop,%_len%
{
StringMid, c, aStr, A_Index, 1
_code := Asc(c)
if _code in 48,49,50,51,52,53,54,55,56,57
{
uc := uc*16 + _code - Asc("0")
} else if _code in 65,66,67,68,69,70
{
uc := uc*16 + _code - Asc("A") + 10
} else {
uc := uc*16 + _code - Asc("a") + 10
}
}
aStr に入った16進文字列を数値に変換して 変数 uc に格納するコードです。
もっとエレガントな方がいい。
42名無しさん@お腹いっぱい。 (ワッチョイ 25e5-lypM)
2019/04/28(日) 00:05:30.68ID:MHWE0sUc0 こういうことではなくて?
aStr := "0x0A"
SetFormat, INTEGER, D
dec := aStr + 0
SetFormat, INTEGER, H
hex := aStr + 0
msgbox,% "aStr=" aStr "`ndec=" dec "`nhex=" hex
aStr := "0x0A"
SetFormat, INTEGER, D
dec := aStr + 0
SetFormat, INTEGER, H
hex := aStr + 0
msgbox,% "aStr=" aStr "`ndec=" dec "`nhex=" hex
43名無しさん@お腹いっぱい。 (ワッチョイWW 6511-PxI6)
2019/04/28(日) 02:49:42.39ID:hWAEyTOu0 見識のある方いれば…
GetKeyState関数で修飾キー(alt)を検知しようとするとアクティブウィンドウへの入力を食ってしまうようなのですが、なにか良い回避策無いでしょうか?
やりたいこととしては、同一ゲーム(ff14)を2画面起動して同時操作のために1つのキーボードから入力をそれぞれのゲームウィンドウに送りたいのです。
実装内容としては、while無限ループ内で修飾キー+英字キーで該当する組み合わせ(今試しているのだとAlt+j)をgetkeystateで検知してcontrolsendでアクティブでない方のウィンドウにjを送信しています。
困っているのは、このプログラムを起動するとアクティブウィンドウへが修飾キー+英字キーではなく単なる英字キーが入力された時のように挙動することです。(alt+jではなくただのjとして動く)非アクティブウィンドウのもう一つのアプリは意図した通りに動いております。
ちなみにalt+jをほぼ同タイミングで押すとちゃんとアクティブウィンドウがalt+jとして動作しました。結構タイミングはシビアですが。
どなたか思い当たることある方いましたらなんでも良いので教えて下さいm(_ _)m
GetKeyState関数で修飾キー(alt)を検知しようとするとアクティブウィンドウへの入力を食ってしまうようなのですが、なにか良い回避策無いでしょうか?
やりたいこととしては、同一ゲーム(ff14)を2画面起動して同時操作のために1つのキーボードから入力をそれぞれのゲームウィンドウに送りたいのです。
実装内容としては、while無限ループ内で修飾キー+英字キーで該当する組み合わせ(今試しているのだとAlt+j)をgetkeystateで検知してcontrolsendでアクティブでない方のウィンドウにjを送信しています。
困っているのは、このプログラムを起動するとアクティブウィンドウへが修飾キー+英字キーではなく単なる英字キーが入力された時のように挙動することです。(alt+jではなくただのjとして動く)非アクティブウィンドウのもう一つのアプリは意図した通りに動いております。
ちなみにalt+jをほぼ同タイミングで押すとちゃんとアクティブウィンドウがalt+jとして動作しました。結構タイミングはシビアですが。
どなたか思い当たることある方いましたらなんでも良いので教えて下さいm(_ _)m
44名無しさん@お腹いっぱい。 (ワッチョイ 6511-XZaO)
2019/04/28(日) 08:03:59.19ID:RLac010E0 >>41
16進数を10進数にするだけの話ならFormat()
16進数を10進数にするだけの話ならFormat()
45名無しさん@お腹いっぱい。 (ワッチョイ 2b73-BP9Y)
2019/04/28(日) 09:38:37.03ID:RQlzQ/nr0 >>42 さん
ありがとうございました。16進数は4桁固定を想定なので、ちょっと追加
aStr := W0x0123W
SetFormat, INTEGER, D
dec := aStr + 0
SetFormat, INTEGER, H
hex := dec + 0
hex := W0000W . substr(hex,3)
StringRight,hex,hex,4
hex := W0xW . hex
msgbox,% WaStr=W aStr W`ndec=W dec W`nhex=W hex
ありがとうございました。16進数は4桁固定を想定なので、ちょっと追加
aStr := W0x0123W
SetFormat, INTEGER, D
dec := aStr + 0
SetFormat, INTEGER, H
hex := dec + 0
hex := W0000W . substr(hex,3)
StringRight,hex,hex,4
hex := W0xW . hex
msgbox,% WaStr=W aStr W`ndec=W dec W`nhex=W hex
46名無しさん@お腹いっぱい。 (ワッチョイ 2b73-BP9Y)
2019/04/28(日) 09:41:18.54ID:RQlzQ/nr0 先の書き込みを確認される際には、例えば
Word に貼り付けて全選択したのち、
ホームリボンの「文字種の選択」から、半角をクリックしてください。
半角で投稿しようとしたら、5ch.net に「不正なコードを含む書き込み」として
ブロックされました。
Word に貼り付けて全選択したのち、
ホームリボンの「文字種の選択」から、半角をクリックしてください。
半角で投稿しようとしたら、5ch.net に「不正なコードを含む書き込み」として
ブロックされました。
47名無しさん@お腹いっぱい。 (ワッチョイ 2b73-BP9Y)
2019/04/28(日) 09:47:34.77ID:RQlzQ/nr0 >>44
Format関数は、Integer値を16進文字列に変換するときに使えそうです。
ありがとうございました。
aVal := 291
sdec := aVal
shex := Format("0x{4:x}", aVal)
msgbox,% "aVal=" aVal "`sdec=" sdec "`shex=" shex
Format関数は、Integer値を16進文字列に変換するときに使えそうです。
ありがとうございました。
aVal := 291
sdec := aVal
shex := Format("0x{4:x}", aVal)
msgbox,% "aVal=" aVal "`sdec=" sdec "`shex=" shex
48名無しさん@お腹いっぱい。 (ワッチョイ 2b73-BP9Y)
2019/04/28(日) 10:01:03.91ID:RQlzQ/nr0 >>43
自分はDllcall を使ってキー状態を調べています。多分、副作用はない筈。
vKey0 := 164 // 多分、左Alt
vKey1 := 165 // 多分、右Alt
stCurr := DllCall("GetKeyState", "UInt", vkey0) & 128
stCurr :=(DllCall("GetKeyState", "UInt", vkey1) & 128) | stCurr
自分はDllcall を使ってキー状態を調べています。多分、副作用はない筈。
vKey0 := 164 // 多分、左Alt
vKey1 := 165 // 多分、右Alt
stCurr := DllCall("GetKeyState", "UInt", vkey0) & 128
stCurr :=(DllCall("GetKeyState", "UInt", vkey1) & 128) | stCurr
49名無しさん@お腹いっぱい。 (ワッチョイWW 25e5-OQT6)
2019/04/28(日) 10:49:09.47ID:MHWE0sUc050名無しさん@お腹いっぱい。 (ササクッテロ Sp01-PxI6)
2019/04/28(日) 12:45:22.14ID:xdMVJpEwp51名無しさん@お腹いっぱい。 (ワッチョイ 2373-KxX0)
2019/04/28(日) 14:00:44.23ID:pYczIjyR052名無しさん@お腹いっぱい。 (ワッチョイ b5b1-mEZ1)
2019/04/28(日) 18:17:38.17ID:nX/tX0040 >>51
今まで問題なかったモノが急に使えなくなったと言うことですか?
windows update以外に何か環境は変えましたか?
自分はwin8.1ですが、1年以上前、AHK使い始めた時からからずっとwheel絡めたスクリプトは全て急に動かなくなります。
スクリプト開始から5分後に使えなくなることもあれば数時間後に使えなくなることもある。
以前ここでこの症状について質問し、もらった回答全て試したり、違うメーカーのマウスとドライバに変えても駄目でした。
海外掲示板見てみても同じ症状の人がいて、色々対策書いてあったけど、効かない人には効かないみたい。
自分は諦めました。
今まで問題なかったモノが急に使えなくなったと言うことですか?
windows update以外に何か環境は変えましたか?
自分はwin8.1ですが、1年以上前、AHK使い始めた時からからずっとwheel絡めたスクリプトは全て急に動かなくなります。
スクリプト開始から5分後に使えなくなることもあれば数時間後に使えなくなることもある。
以前ここでこの症状について質問し、もらった回答全て試したり、違うメーカーのマウスとドライバに変えても駄目でした。
海外掲示板見てみても同じ症状の人がいて、色々対策書いてあったけど、効かない人には効かないみたい。
自分は諦めました。
53名無しさん@お腹いっぱい。 (ワッチョイ 2bbe-HJzg)
2019/04/28(日) 18:48:48.93ID:JP0Kc6aT054名無しさん@お腹いっぱい。 (イルクン MM93-OQT6)
2019/04/28(日) 21:59:53.64ID:fWI8wbzJM 最近の話じゃないけど
リダイレクトホイールでホイールが急に遅延して
その間まったくスクロールが効かなくなることはよくあった
そのまましばらく放置してると忘れた頃にアクティブウィンドウがスクロールしまくる
最近はだいぶ頻度は下がった
リダイレクトホイールでホイールが急に遅延して
その間まったくスクロールが効かなくなることはよくあった
そのまましばらく放置してると忘れた頃にアクティブウィンドウがスクロールしまくる
最近はだいぶ頻度は下がった
55名無しさん@お腹いっぱい。 (ワッチョイWW b5b1-PxI6)
2019/04/29(月) 04:37:49.10ID:QZTb/6eG0 >>48
うーん、ダメでした…
メインウィンドウをメモ帳とかにしても同じように修飾キーの入力が食われてしまうのでゲームの方の問題じゃないみたいですね…
osはwindows10ですがバージョンが悪さしてるのでしょうか
うーん、ダメでした…
メインウィンドウをメモ帳とかにしても同じように修飾キーの入力が食われてしまうのでゲームの方の問題じゃないみたいですね…
osはwindows10ですがバージョンが悪さしてるのでしょうか
56名無しさん@お腹いっぱい。 (ワッチョイ b5b1-BP9Y)
2019/04/29(月) 04:39:55.03ID:QZTb/6eG0 ちなみに今のコードはこんな感じです。
#InstallKeybdHook
#UseHook
SetKeyDelay,10,100
subPid = 22460
Loop
{
stCurr := DllCall("GetKeyState", "UInt", 164) & 128
stCurr2 := DllCall("GetKeyState", "UInt", 74) & 128
If stCurr && stCurr2
{
ControlSend, , j, ahk_pid %subPid%
}
}
#InstallKeybdHook
#UseHook
SetKeyDelay,10,100
subPid = 22460
Loop
{
stCurr := DllCall("GetKeyState", "UInt", 164) & 128
stCurr2 := DllCall("GetKeyState", "UInt", 74) & 128
If stCurr && stCurr2
{
ControlSend, , j, ahk_pid %subPid%
}
}
57名無しさん@お腹いっぱい。 (ワッチョイ 63f5-KxX0)
2019/04/29(月) 05:02:47.41ID:p8hzRzQr0 FF14とかネトゲでAHKみたいな外部ツールを使うのは不正行為
別に運営じゃないしFF14もやってないので不正をするなとは言わないけど
不正行為の「やり方」を恥ずかしげもなく人様に聞くのはみっともない
自分で考えて誰にもバレないように使え
それが出来なけりゃ潔く諦めろ
別に運営じゃないしFF14もやってないので不正をするなとは言わないけど
不正行為の「やり方」を恥ずかしげもなく人様に聞くのはみっともない
自分で考えて誰にもバレないように使え
それが出来なけりゃ潔く諦めろ
58名無しさん@お腹いっぱい。 (ワッチョイ cb0c-7MPY)
2019/04/29(月) 06:20:21.96ID:en4uZx+d0 はぁ〜い、トゥイマッテーンw
59名無しさん@お腹いっぱい。 (ワッチョイ 63e7-B2tE)
2019/04/29(月) 06:28:55.14ID:gsQYWf6/0 ただの池沼だった
60名無しさん@お腹いっぱい。 (アウアウオーT Sa93-kziM)
2019/04/29(月) 07:17:19.72ID:IqJQ2Tg/a 年寄りは説教が好き
61名無しさん@お腹いっぱい。 (オイコラミネオ MMb1-CUMw)
2019/04/29(月) 07:18:41.98ID:6WmDA0bLM 俺が若い頃はあ〜(以下略
62名無しさん@お腹いっぱい。 (ワッチョイWW 85f1-bJOw)
2019/04/29(月) 08:46:17.18ID:PffOSWws0 ゴメ…
63名無しさん@お腹いっぱい。 (ワッチョイ 2b73-BP9Y)
2019/04/29(月) 09:17:42.22ID:YyTDcGy20 >>55
Win32のGetKeyState関数は静的状態を取得するものなので、
変化を検知して出力する方がよいです。
Notepad.exe を非アクティブウインドウとして、
サクラエディタをアクティブウインドウとしたとき、"j"キーを両方に出力するサンプルです。
#InstallKeybdHook
#UseHook
SetKeyDelay,10,100
Loop
{
Sleep,16
stCurr2 := DllCall("GetKeyState", "UInt", 74) & 128 ; VK_J
If(stCurr2=128 && stLast2= 0)
{
ControlSend, , {j down}, ahk_class Notepad
} else If(stCurr2=0 && stLast2= 128)
{
ControlSend, , {j up}, ahk_class Notepad
}
stLast2 := stCurr2
}
現状、このソフトウェアを持っていないので再現できないのですが、
非アクティブウインドウに Alt-JをControlsend できるならば、
寧ろ、Alt + j をホットキー登録して、Autohotkeyにキーを喰わせたのち、
アクティブウインドウと非アクティブウインドウに Alt-J を Controlsend してはどうでしょうか。
その場合、ループ処理と、GetKeyState関数は不要となります。
Win32のGetKeyState関数は静的状態を取得するものなので、
変化を検知して出力する方がよいです。
Notepad.exe を非アクティブウインドウとして、
サクラエディタをアクティブウインドウとしたとき、"j"キーを両方に出力するサンプルです。
#InstallKeybdHook
#UseHook
SetKeyDelay,10,100
Loop
{
Sleep,16
stCurr2 := DllCall("GetKeyState", "UInt", 74) & 128 ; VK_J
If(stCurr2=128 && stLast2= 0)
{
ControlSend, , {j down}, ahk_class Notepad
} else If(stCurr2=0 && stLast2= 128)
{
ControlSend, , {j up}, ahk_class Notepad
}
stLast2 := stCurr2
}
現状、このソフトウェアを持っていないので再現できないのですが、
非アクティブウインドウに Alt-JをControlsend できるならば、
寧ろ、Alt + j をホットキー登録して、Autohotkeyにキーを喰わせたのち、
アクティブウインドウと非アクティブウインドウに Alt-J を Controlsend してはどうでしょうか。
その場合、ループ処理と、GetKeyState関数は不要となります。
64名無しさん@お腹いっぱい。 (ワッチョイ 25e5-lypM)
2019/04/29(月) 10:37:23.86ID:kkLjthPU0 >>56
メイン秀丸 サブメモ帳でsubPidだけ変えて実行してみたが
アクティブウィンドウはちゃんとAlt+Jのショートカット動作したし
subPidの非アクティブウィンドウもちゃんと j が入力されたよ
つかFF14の2画面動作時の挙動は知らんけど
2ウィンドウで両方とも同じ挙動させたいのに非アクティブのほうに Alt 送らなくて大丈夫なの?
「アクティブのAltが食われてる」のではなく j しか送ってないsubPidのほうをメインだと思ってて
「非アクティブにAltが送られてない」状態を「食われてる」と勘違いしてたりしない?
メイン秀丸 サブメモ帳でsubPidだけ変えて実行してみたが
アクティブウィンドウはちゃんとAlt+Jのショートカット動作したし
subPidの非アクティブウィンドウもちゃんと j が入力されたよ
つかFF14の2画面動作時の挙動は知らんけど
2ウィンドウで両方とも同じ挙動させたいのに非アクティブのほうに Alt 送らなくて大丈夫なの?
「アクティブのAltが食われてる」のではなく j しか送ってないsubPidのほうをメインだと思ってて
「非アクティブにAltが送られてない」状態を「食われてる」と勘違いしてたりしない?
65名無しさん@お腹いっぱい。 (ニククエ 2327-MRXB)
2019/04/29(月) 13:49:17.48ID:Bj2ge2Bl0NIKU Pictureコントロールで画像の比率を維持したまま固定の枠内に収める事ってできませんか?
比率を維持するには縦横どちらか片方だけを指定すればいいようなんですが
簡易のビューアのように縦長や横長のいろんな画像をそこに表示したいので
画像によってどちらを固定サイズにするか変わってきちゃうんです
その画像が縦長か横長なのかだけでも判断できれば行けそうなんですがAHKの機能だけでは無理なんでしょうか?
比率を維持するには縦横どちらか片方だけを指定すればいいようなんですが
簡易のビューアのように縦長や横長のいろんな画像をそこに表示したいので
画像によってどちらを固定サイズにするか変わってきちゃうんです
その画像が縦長か横長なのかだけでも判断できれば行けそうなんですがAHKの機能だけでは無理なんでしょうか?
66名無しさん@お腹いっぱい。 (ニククエ b5b1-BP9Y)
2019/04/29(月) 14:37:18.14ID:QZTb/6eG0NIKU お二方共ありがとうございますm(__)m
ダメもとで書いてみましたがこんなに反応していただいて感謝感激です。
>>63
>>64
> 非アクティブウインドウに Alt-JをControlsend できるならば
> 非アクティブのほうに Alt 送らなくて大丈夫なの?
ControlSendでAlt送らなくてよいかという話ですが、自分の環境だとうまくいかなかった経緯があって抜いています。
ネットで同じようなQ&Aあって最終的には次の二通りの記述方法でやってみたのですがうまくいかずでした。
ControlSend, , ^v, ahk_pid %subPid%
ControlSend, , {ctrl down}{v}{ctrl up}, ahk_pid %subPid%
一応ゲームの方でキーバインドは変更できるので、サブの方は修飾キー使わない配置でもいいかなぁと思いメインにのみ修飾キーつける形にしてます。
> 寧ろ、Alt + j をホットキー登録して
たしかにそうですね…しかし↑のショートカットコマンドControlSendできない問題が解決しないとちょっと厳しいです。
もちろんメインの方も修飾キー使わないキーバインド配置にすれば可能なのですが、基本的にはメインの1画面だけでプレイしているのがほとんどなのでなるべくそういう時はautohotkeyを使いたくないのです。最終手段としては検討したいですが。
> アクティブウィンドウはちゃんとAlt+Jのショートカット動作したし
すみません書きそびれていましたが、タイミングによってはちゃんとアクティブウィンドウにAlt+jが送信されてました。
ですが確率でいうと成功するのは半分いかないくらいで、どんな時に成功するかの傾向もいまいち判断つきにくい状況です。
こころなしか>>48さんのコードを反映してから成功する確率は増した気がしますが…
> 「非アクティブにAltが送られてない」状態を「食われてる」と勘違いしてたりしない?
一応まったく別のキーの組み合わせでも試しているのでこちらは大丈夫だと思います。
ダメもとで書いてみましたがこんなに反応していただいて感謝感激です。
>>63
>>64
> 非アクティブウインドウに Alt-JをControlsend できるならば
> 非アクティブのほうに Alt 送らなくて大丈夫なの?
ControlSendでAlt送らなくてよいかという話ですが、自分の環境だとうまくいかなかった経緯があって抜いています。
ネットで同じようなQ&Aあって最終的には次の二通りの記述方法でやってみたのですがうまくいかずでした。
ControlSend, , ^v, ahk_pid %subPid%
ControlSend, , {ctrl down}{v}{ctrl up}, ahk_pid %subPid%
一応ゲームの方でキーバインドは変更できるので、サブの方は修飾キー使わない配置でもいいかなぁと思いメインにのみ修飾キーつける形にしてます。
> 寧ろ、Alt + j をホットキー登録して
たしかにそうですね…しかし↑のショートカットコマンドControlSendできない問題が解決しないとちょっと厳しいです。
もちろんメインの方も修飾キー使わないキーバインド配置にすれば可能なのですが、基本的にはメインの1画面だけでプレイしているのがほとんどなのでなるべくそういう時はautohotkeyを使いたくないのです。最終手段としては検討したいですが。
> アクティブウィンドウはちゃんとAlt+Jのショートカット動作したし
すみません書きそびれていましたが、タイミングによってはちゃんとアクティブウィンドウにAlt+jが送信されてました。
ですが確率でいうと成功するのは半分いかないくらいで、どんな時に成功するかの傾向もいまいち判断つきにくい状況です。
こころなしか>>48さんのコードを反映してから成功する確率は増した気がしますが…
> 「非アクティブにAltが送られてない」状態を「食われてる」と勘違いしてたりしない?
一応まったく別のキーの組み合わせでも試しているのでこちらは大丈夫だと思います。
67名無しさん@お腹いっぱい。 (ワッチョイ 2373-KxX0)
2019/04/30(火) 01:28:07.47ID:K0TtcLI00 >>52
原因はよくわからない
5ちゃんみるのにJane つかってるんだけど
image viewerが立ち上がるときにマウスホイールのスクリプトがかなりの確率で動かなくなる
あとXbutton & Lbutton でうごくやつを用意してるけどこれもだめになる
原因はよくわからない
5ちゃんみるのにJane つかってるんだけど
image viewerが立ち上がるときにマウスホイールのスクリプトがかなりの確率で動かなくなる
あとXbutton & Lbutton でうごくやつを用意してるけどこれもだめになる
68名無しさん@お腹いっぱい。 (ワッチョイ 2b73-BP9Y)
2019/04/30(火) 14:09:40.67ID:w21JuZ030 autohotkey で exe ファイルを作ったとき、
タスクアイコンを右クリックしたときのメニューに
"Suspend hotkeys" と "Pause Script" が表示されないようにしたい。
どなたかご存知でしょうか。
タスクアイコンを右クリックしたときのメニューに
"Suspend hotkeys" と "Pause Script" が表示されないようにしたい。
どなたかご存知でしょうか。
69名無しさん@お腹いっぱい。 (ワッチョイ 6511-XZaO)
2019/04/30(火) 14:21:09.74ID:+yW1x6hb0 menu,tray,
70名無しさん@お腹いっぱい。 (ワッチョイ 2306-KxX0)
2019/04/30(火) 15:09:34.34ID:ujDAUdDr0 >>69
68じゃないけど、トレイのメニューは無理なのでは?
Menu, Tray, Delete, Suspend Hotkeys
だとエラー吐くんだけど
"Suspend Hotkeys"にしてもダメだった
68じゃないけど、トレイのメニューは無理なのでは?
Menu, Tray, Delete, Suspend Hotkeys
だとエラー吐くんだけど
"Suspend Hotkeys"にしてもダメだった
71名無しさん@お腹いっぱい。 (オッペケ Sr01-7Fq6)
2019/04/30(火) 16:43:23.50ID:ZVDWFksOr >>68
MenuをExitだけにする例
Menu, Tray, NoStandard
Menu, Tray, Add, Exit, Menu_Exit
default項目で他に追加したければAdd, 表示名, Label名
MenuをExitだけにする例
Menu, Tray, NoStandard
Menu, Tray, Add, Exit, Menu_Exit
default項目で他に追加したければAdd, 表示名, Label名
72名無しさん@お腹いっぱい。 (ワッチョイ 2b73-BP9Y)
2019/04/30(火) 17:04:55.31ID:w21JuZ030 >>71
ありがd、できますた。
Menu, Tray, NoStandard
Menu, Tray, Add, Exit, Menu_Exit
return
Menu_Exit:
exitapp
a::return
a up::return
ありがd、できますた。
Menu, Tray, NoStandard
Menu, Tray, Add, Exit, Menu_Exit
return
Menu_Exit:
exitapp
a::return
a up::return
73名無しさん@お腹いっぱい。 (Hi!REIWA Sae9-E4J7)
2019/05/01(水) 12:43:11.11ID:jXRa0IGJa0501 >>35
Win10にしたとかアップデートしたとかで効かなくなるものはある
Win10にしたとかアップデートしたとかで効かなくなるものはある
74名無しさん@お腹いっぱい。 (Hi!REIWA 6d05-mEZ1)
2019/05/01(水) 18:22:04.79ID:SieO+8nP00501 ピリオド〜ピリオドに囲まれた範囲を削除したいんですが、
アイデアってありますでしょうか?
英文を書いていて、一文削除したいんです。
カーソルの位置はその文の任意の場所にあります。
アイデアってありますでしょうか?
英文を書いていて、一文削除したいんです。
カーソルの位置はその文の任意の場所にあります。
75名無しさん@お腹いっぱい。 (Hi!REIWAWW a3fa-YGjT)
2019/05/01(水) 18:32:15.71ID:sBOO+Ynz00501 クリップボードに取り込んで、変数に入れてからループ処理かなぁ
ふんわりは思いつくけど条件はめんどくさそう
ふんわりは思いつくけど条件はめんどくさそう
76名無しさん@お腹いっぱい。 (Hi!REIWAWW 23e5-OQT6)
2019/05/01(水) 19:47:01.77ID:RadfMNGN00501 カーソルの位置でどうこうするならエディタのマクロでやったほうが楽そう
77名無しさん@お腹いっぱい。 (Hi!REIWA Sr01-7Fq6)
2019/05/01(水) 20:06:08.82ID:VU2a+akWr0501 ControlGetText
RegExReplace
FileDelete(あるいはバックアップ)
FileAppendでできるんじゃね
RegExReplace
FileDelete(あるいはバックアップ)
FileAppendでできるんじゃね
78名無しさん@お腹いっぱい。 (Hi!REIWA 6d05-mEZ1)
2019/05/01(水) 20:17:10.20ID:SieO+8nP0050179名無しさん@お腹いっぱい。 (Hi!REIWA cbcf-7MPY)
2019/05/01(水) 20:20:21.68ID:a/vdThoT00501 テキスト編集に特化したエディタならそういうコマンドくらいデフォで入ってそうだけど
あるいはそういうプラグインがありそうな開発環境向けの高機能エディタ使うか
あるいはそういうプラグインがありそうな開発環境向けの高機能エディタ使うか
80名無しさん@お腹いっぱい。 (Hi!REIWA Sr01-7Fq6)
2019/05/01(水) 21:06:04.46ID:VU2a+akWr0501 >78
>1文の長さもバラバラ
何のための正規表現だよw
ましてや英文なら一番簡単パターンだろ
最短マッチ
var := RegExReplace(var, "s`n),[\w\x20'\.\-]*?,", ",,")
最長マッチ
var := RegExReplace(var, "s`n),.+,", ",,")
>1文の長さもバラバラ
何のための正規表現だよw
ましてや英文なら一番簡単パターンだろ
最短マッチ
var := RegExReplace(var, "s`n),[\w\x20'\.\-]*?,", ",,")
最長マッチ
var := RegExReplace(var, "s`n),.+,", ",,")
81名無しさん@お腹いっぱい。 (Hi!REIWA 2311-KxX0)
2019/05/01(水) 21:28:56.54ID:dvQIbYdE00501 英文ならクリック3回くらい押せば1文選択できるだろうし(そのエディタでは出来ない?)
クリック3回のDeleteって簡単にやっちゃダメなん?
クリック3回のDeleteって簡単にやっちゃダメなん?
82名無しさん@お腹いっぱい。 (Hi!REIWA 2311-KxX0)
2019/05/01(水) 21:35:56.09ID:dvQIbYdE00501 1文じゃなくて段落での選択だったわすまん
83名無しさん@お腹いっぱい。 (Hi!REIWA 6d05-mEZ1)
2019/05/01(水) 21:56:16.89ID:SieO+8nP0050184名無しさん@お腹いっぱい。 (ワッチョイ f70d-R0y6)
2019/05/02(木) 00:45:45.54ID:mNYgW5tn0 >>83
; xxx,yyy,zzz,test,
; xxx,yyy,zzz,test,
; xxx,yyy,zzz,test,
F1::DeleteGroup()
DeleteGroup(String=",", Wait=0.3) {
ClipSaved := ClipboardAll
Clipboard =
Send ^x
ClipWait %Wait%
if (ErrorLevel) {
Send +{Home}^x
ClipWait %Wait%
Forward := Clipboard
if (Pos := InStr(Forward, String,, 0)) {
Clipboard =
Send +{End}^x
ClipWait %Wait%
Clipboard := RegExReplace(Forward Clipboard, String ".+?" String, String String,, 1, Pos)
Send ^v
} else
Send ^z
} else {
Clipboard := RegExReplace(Clipboard, "s)" String ".+?" String, String String,, 1)
Send ^v
}
Clipboard := ClipSaved
}
; xxx,yyy,zzz,test,
; xxx,yyy,zzz,test,
; xxx,yyy,zzz,test,
F1::DeleteGroup()
DeleteGroup(String=",", Wait=0.3) {
ClipSaved := ClipboardAll
Clipboard =
Send ^x
ClipWait %Wait%
if (ErrorLevel) {
Send +{Home}^x
ClipWait %Wait%
Forward := Clipboard
if (Pos := InStr(Forward, String,, 0)) {
Clipboard =
Send +{End}^x
ClipWait %Wait%
Clipboard := RegExReplace(Forward Clipboard, String ".+?" String, String String,, 1, Pos)
Send ^v
} else
Send ^z
} else {
Clipboard := RegExReplace(Clipboard, "s)" String ".+?" String, String String,, 1)
Send ^v
}
Clipboard := ClipSaved
}
85名無しさん@お腹いっぱい。 (ワッチョイ eb05-UklA)
2019/05/02(木) 19:21:43.94ID:ahrZkCUy086名無しさん@お腹いっぱい。 (コードモ d776-R0y6)
2019/05/05(日) 13:28:02.42ID:8PqDYwmd00505 .ahkファイルの9割はエディタに関連付けしたほうが扱いやすいと気がついたんだが
インクルードされる専の.ahk以外で名の通った拡張子ってないの?
インクルードされる専の.ahk以外で名の通った拡張子ってないの?
87名無しさん@お腹いっぱい。 (コードモ 8e4d-ahOC)
2019/05/05(日) 13:35:33.46ID:M2iqQKSj00505 >>86
俺はahkファイルをそのままランチャーに登録したりしてるからエディタに関連付けたら使い物にならなくなるわ
その代わり常駐スクリプトなどはトレイアイコンダブルクリックでエディタ起動するようにしてる
俺はahkファイルをそのままランチャーに登録したりしてるからエディタに関連付けたら使い物にならなくなるわ
その代わり常駐スクリプトなどはトレイアイコンダブルクリックでエディタ起動するようにしてる
88名無しさん@お腹いっぱい。 (コードモ 1711-3fUi)
2019/05/05(日) 13:52:31.18ID:K9EFe5ps00505 >>86
txt
txt
89名無しさん@お腹いっぱい。 (ワッチョイ e211-R0y6)
2019/05/06(月) 13:02:36.04ID:ul+3fNQG0 ファイラー使ってエディタ起動はEキーでとかだから困ること無いな
90名無しさん@お腹いっぱい。 (ワッチョイWW b287-NoMZ)
2019/05/07(火) 17:39:26.46ID:TrTdwL+B0 win10で2chMateを使いたくてエミュ導入したのですが
google日本語入力の109A選択で日本語/英語の切り替えがShift+Ctrlと押しづらい
「全角/半角」→認識なし?
「Del」→「.」
ってことでAutoHotkeyを使ってみました。
「半角/全角」を置換元キーにすると不安定。1回置きに指定リマップされてる?
置換先キーにShiftとCtrlの同時押しもうまくいきません
結局、今は無変換キーをShift、変換キーをCtrl に指定
無変換と変換キー同時押しで、Shift+Ctrl「日本語/英語切り替え」にはなりました。
#IfWinActive ahk_exe BlueStacks.exe
vk1C::Shift
vk1D::Ctrl
#IfWinActive
「半角/全角」を押してShift+Ctrl出力で日本語/英語切り替え
ができたら理想なのです、ご指導いただけたら嬉しいです。
ついでにDeleteキー復活もお願いします。
BlueStacks 4.60.20.1002
google日本語入力 109A
2chMate 0.8.10.45/
google日本語入力の109A選択で日本語/英語の切り替えがShift+Ctrlと押しづらい
「全角/半角」→認識なし?
「Del」→「.」
ってことでAutoHotkeyを使ってみました。
「半角/全角」を置換元キーにすると不安定。1回置きに指定リマップされてる?
置換先キーにShiftとCtrlの同時押しもうまくいきません
結局、今は無変換キーをShift、変換キーをCtrl に指定
無変換と変換キー同時押しで、Shift+Ctrl「日本語/英語切り替え」にはなりました。
#IfWinActive ahk_exe BlueStacks.exe
vk1C::Shift
vk1D::Ctrl
#IfWinActive
「半角/全角」を押してShift+Ctrl出力で日本語/英語切り替え
ができたら理想なのです、ご指導いただけたら嬉しいです。
ついでにDeleteキー復活もお願いします。
BlueStacks 4.60.20.1002
google日本語入力 109A
2chMate 0.8.10.45/
91名無しさん@お腹いっぱい。 (ワッチョイ f7e5-y35d)
2019/05/07(火) 18:41:35.58ID:QBfahZsV0 ChMateのためだけにBlueStacksは重くない?
まあ好き好きだけど
MEmuならAHKなしwin10側デフォルトのMS IMEでエミュのキーボード制御なしで行けたよ
まあ好き好きだけど
MEmuならAHKなしwin10側デフォルトのMS IMEでエミュのキーボード制御なしで行けたよ
92名無しさん@お腹いっぱい。 (ワッチョイWW 6726-16f0)
2019/05/07(火) 20:15:43.46ID:hH7zKgci093名無しさん@お腹いっぱい。 (ワッチョイ a2b1-DY+r)
2019/05/07(火) 23:26:24.76ID:qVvoJ1Im0 IME.ahk
94名無しさん@お腹いっぱい。 (ワッチョイWW b287-NoMZ)
2019/05/08(水) 16:06:11.53ID:a/Pr15AK0 >>91
MEmuですけど、google日本語入力と物理キーボードが上手く動かないのと、
ChMateでもカクカク動作になるので、今の所は敬遠します。
なんかかっこ悪いけど、一応AutoHotkeyで念願の様に組めました。
なぜか置換先にShiftとCtrl同時押しができませんが、
無意味なキー(vkF4)を含めた(+^vkF4)で代用ができました。
「半角/全角」(vkF3)を、日本語/英語の切り替え(+^vkF4)にリマップ
使ってなさそうな「カタカナ/ひらがな」(vkF2)も(+^vkF4)にリマップ
AndroidにはDelキーが無い?ので
→の後、BackSpaceでカーソル右側1文字削除を再現しました。
#IfWinActive ahk_exe BlueStacks.exe
vkF3::+^vkF4
vkF2::+^vkF4
Del::
send,{Right}
send,{BS}
return
#IfWinActive
AutoHotkey 1.1.30.03
BlueStacks 4.60.20.1002
google日本語入力 109A
2chMate 0.8.10.45/
MEmuですけど、google日本語入力と物理キーボードが上手く動かないのと、
ChMateでもカクカク動作になるので、今の所は敬遠します。
なんかかっこ悪いけど、一応AutoHotkeyで念願の様に組めました。
なぜか置換先にShiftとCtrl同時押しができませんが、
無意味なキー(vkF4)を含めた(+^vkF4)で代用ができました。
「半角/全角」(vkF3)を、日本語/英語の切り替え(+^vkF4)にリマップ
使ってなさそうな「カタカナ/ひらがな」(vkF2)も(+^vkF4)にリマップ
AndroidにはDelキーが無い?ので
→の後、BackSpaceでカーソル右側1文字削除を再現しました。
#IfWinActive ahk_exe BlueStacks.exe
vkF3::+^vkF4
vkF2::+^vkF4
Del::
send,{Right}
send,{BS}
return
#IfWinActive
AutoHotkey 1.1.30.03
BlueStacks 4.60.20.1002
google日本語入力 109A
2chMate 0.8.10.45/
95名無しさん@お腹いっぱい。 (ワッチョイ cb58-ahOC)
2019/05/08(水) 16:17:30.41ID:nwM5gvVs096名無しさん@お腹いっぱい。 (ワッチョイWW b287-NoMZ)
2019/05/08(水) 16:29:04.22ID:a/Pr15AK097名無しさん@お腹いっぱい。 (ワッチョイ cb58-ahOC)
2019/05/08(水) 16:39:29.99ID:nwM5gvVs098名無しさん@お腹いっぱい。 (ワッチョイWW b287-NoMZ)
2019/05/08(水) 16:43:21.78ID:a/Pr15AK099名無しさん@お腹いっぱい。 (ワッチョイ f7e5-y35d)
2019/05/08(水) 18:46:11.81ID:3WHtVALo0 ていか泥の中のgoogle日本語入力を動かすことにこだわってるようだけど
PC側のIMEそのまま使うんじゃダメなの?
MEmuだと(泥の中ではなくエミュ側の)設定からソフトキーボード閉じれるので
わざわざ泥内のIME使う必要ないんだけど
一応 MEmuはブルスタやNOXより軽いと言われてる、怪しさに関しては目くそ鼻くそだが
カクついて遅いのはVT-xやOpenGLが有効になってないか泥のバージョンのせいかも
うちは泥バージョンをデフォルト(5.1)から7.1にしたら安定した
PC側のIMEそのまま使うんじゃダメなの?
MEmuだと(泥の中ではなくエミュ側の)設定からソフトキーボード閉じれるので
わざわざ泥内のIME使う必要ないんだけど
一応 MEmuはブルスタやNOXより軽いと言われてる、怪しさに関しては目くそ鼻くそだが
カクついて遅いのはVT-xやOpenGLが有効になってないか泥のバージョンのせいかも
うちは泥バージョンをデフォルト(5.1)から7.1にしたら安定した
100名無しさん@お腹いっぱい。 (ワッチョイWW 6735-16f0)
2019/05/08(水) 20:00:47.98ID:CdsMQfK20 なんか、目的なしに泥エミュ使ってみたくなった
スレチだけど過疎ってるしありかwww
スレチだけど過疎ってるしありかwww
101名無しさん@お腹いっぱい。 (ワッチョイW 1f56-83wE)
2019/05/10(金) 11:09:21.05ID:uOTPr9gE0 初歩的なことですがおしえてください
・セミコロンだけを押すと→enterが押下され
・シフト+セミコロン→+が入力され(そのまま)
・コントロールとセミコロンのキーを押すと→セミコロン ; が押下されるようにしたい
のですがうまくいきません。以下のようにしてみましたが
コントロール+セミコロンでもEnterが押されてしまいます。
vkBBsc027::Send, {Enter}
^vkBBsc027::Send, {vkBBsc027}
お知恵をください
・セミコロンだけを押すと→enterが押下され
・シフト+セミコロン→+が入力され(そのまま)
・コントロールとセミコロンのキーを押すと→セミコロン ; が押下されるようにしたい
のですがうまくいきません。以下のようにしてみましたが
コントロール+セミコロンでもEnterが押されてしまいます。
vkBBsc027::Send, {Enter}
^vkBBsc027::Send, {vkBBsc027}
お知恵をください
102名無しさん@お腹いっぱい。 (ワッチョイWW 5776-g7+I)
2019/05/10(金) 11:31:25.99ID:6IH15nFv0 $
103名無しさん@お腹いっぱい。 (ワッチョイWW 1f87-c8Iy)
2019/05/10(金) 11:59:25.20ID:JSwH/yYX0104名無しさん@お腹いっぱい。 (ワッチョイW 1f56-83wE)
2019/05/10(金) 12:48:54.10ID:uOTPr9gE0105名無しさん@お腹いっぱい。 (ワッチョイW 1f56-83wE)
2019/05/10(金) 12:51:39.21ID:uOTPr9gE0 以下で成功しました
^sc027::Send, {sc027}
sc027::Send, {Enter}
vkBBを削除しただけでいけました。
なにがだめだったんだろう・・・
ありがとうございました。103さんの助言をヒントにいけました
^sc027::Send, {sc027}
sc027::Send, {Enter}
vkBBを削除しただけでいけました。
なにがだめだったんだろう・・・
ありがとうございました。103さんの助言をヒントにいけました
106名無しさん@お腹いっぱい。 (ワッチョイWW 1f87-c8Iy)
2019/05/10(金) 13:43:00.74ID:JSwH/yYX0107名無しさん@お腹いっぱい。 (ワッチョイW 1f56-83wE)
2019/05/10(金) 14:52:49.85ID:uOTPr9gE0108名無しさん@お腹いっぱい。 (ワッチョイWW 1f87-c8Iy)
2019/05/10(金) 15:03:43.53ID:JSwH/yYX0 >>107
win10?うちのPCならこれでも要望通りになるけどな
win10?うちのPCならこれでも要望通りになるけどな
109名無しさん@お腹いっぱい。 (ワッチョイW 1f56-83wE)
2019/05/10(金) 15:06:39.63ID:uOTPr9gE0110名無しさん@お腹いっぱい。 (ワッチョイ 9fb2-y0Vo)
2019/05/10(金) 15:26:52.21ID:n2J8MLXc0111名無しさん@お腹いっぱい。 (ワッチョイWW 1f87-c8Iy)
2019/05/10(金) 16:39:26.39ID:JSwH/yYX0 スキャンコード(sc) が使えて、仮想キーコード(vk) が使えない環境かな
vkBB::Enter で「;」がそのまま出力されるみたいだからな
vkBB::Enter で「;」がそのまま出力されるみたいだからな
112名無しさん@お腹いっぱい。 (アウアウウー Sa1b-iHYw)
2019/05/10(金) 17:28:11.48ID:KC145d5/a vk使えないのは新しいAHK
113名無しさん@お腹いっぱい。 (ワッチョイ 57b1-y0Vo)
2019/05/11(土) 08:29:28.11ID:0qFFuv3w0 ^a::Send, {ユニコード}
^b::Send, {ユニコード}
^c::Send, {ユニコード}
といった形でコントロールと文字キーを押して別の文字を
出せるようにしてあるのですが、
例えばF1を押したら常にコントロールを押した状態になって
あとはa, b, c, ...と打つだけで登録した文字を好きに打てて、
もう一度F1を押したら解除されて普通のキーボードに戻る
ようなことは可能ですか?
^b::Send, {ユニコード}
^c::Send, {ユニコード}
といった形でコントロールと文字キーを押して別の文字を
出せるようにしてあるのですが、
例えばF1を押したら常にコントロールを押した状態になって
あとはa, b, c, ...と打つだけで登録した文字を好きに打てて、
もう一度F1を押したら解除されて普通のキーボードに戻る
ようなことは可能ですか?
114名無しさん@お腹いっぱい。 (ワッチョイ 570d-vVMj)
2019/05/11(土) 09:50:54.26ID:VISQT7EV0 >>113
{Ctrl Down} {Ctrl Up} で分ければ出切るが
Ctrl押したままはいろいろ誤操作誘発するので止めたほうがいい
登録した物を切り替えるだけなら必要ない
KeyChange = 0
F1::KeyChange := !KeyChange ; 0/1
F2::(KeyChange = 2) ? KeyChange:=0 : KeyChange+=1 ; 0/1/2
1::ToolTip 1
2::ToolTip 2
3::ToolTip 3
#If KeyChange = 1
1::ToolTip x
2::ToolTip y
3::ToolTip z
#If
#If KeyChange = 2
1::ToolTip xx
2::ToolTip yy
3::ToolTip zz
#If
{Ctrl Down} {Ctrl Up} で分ければ出切るが
Ctrl押したままはいろいろ誤操作誘発するので止めたほうがいい
登録した物を切り替えるだけなら必要ない
KeyChange = 0
F1::KeyChange := !KeyChange ; 0/1
F2::(KeyChange = 2) ? KeyChange:=0 : KeyChange+=1 ; 0/1/2
1::ToolTip 1
2::ToolTip 2
3::ToolTip 3
#If KeyChange = 1
1::ToolTip x
2::ToolTip y
3::ToolTip z
#If
#If KeyChange = 2
1::ToolTip xx
2::ToolTip yy
3::ToolTip zz
#If
115名無しさん@お腹いっぱい。 (ワッチョイ ff76-vVMj)
2019/05/11(土) 10:06:22.79ID:kH9aKoH20 一番わかり易いのはモード変更ダイアログボックス出して
そのダイアログがあるかどうかで分岐
野暮ったいが誤動作誤操作はしなくなる
クリップボードフィルタ&FIFOユーティリティ関連でこのやり方使ってるな
^F1:: ; 特殊モード発動
run,特殊モード.ahk
return
F1::
IfWinExist,特殊モード
...
else
...
特殊モード.ahkの中身
help=
(
F1: aaa
F2: bbb
F3: ccc
)
msgbox,,特殊モード,%help%
そのダイアログがあるかどうかで分岐
野暮ったいが誤動作誤操作はしなくなる
クリップボードフィルタ&FIFOユーティリティ関連でこのやり方使ってるな
^F1:: ; 特殊モード発動
run,特殊モード.ahk
return
F1::
IfWinExist,特殊モード
...
else
...
特殊モード.ahkの中身
help=
(
F1: aaa
F2: bbb
F3: ccc
)
msgbox,,特殊モード,%help%
116名無しさん@お腹いっぱい。 (ワッチョイWW 57e5-g7+I)
2019/05/11(土) 10:10:41.95ID:H4XAT+3F0 2ストロークキーのサンプルだったら流行らせるページ跡地にあったはず
http://lukewarm.s101.xrea.com/myscripts/
http://lukewarm.s101.xrea.com/myscripts/
117名無しさん@お腹いっぱい。 (オッペケ Sr8b-xlkP)
2019/05/11(土) 11:31:25.11ID:ZMMlxjL2r >>113
俺なら素直にこうする
script _a.ahk ;通常入力用
F1::
Run, script_b.ahk
ExitApp
script_b.ahk ;Unicode入力用
a::Send, Unicode ;(可能ならControl,EditPasteのほうがいいかも)
F1::
Run, script_a.ahk
ExitApp
俺なら素直にこうする
script _a.ahk ;通常入力用
F1::
Run, script_b.ahk
ExitApp
script_b.ahk ;Unicode入力用
a::Send, Unicode ;(可能ならControl,EditPasteのほうがいいかも)
F1::
Run, script_a.ahk
ExitApp
118名無しさん@お腹いっぱい。 (ワッチョイ 9b56-qZMj)
2019/05/16(木) 06:42:10.73ID:hupmSm4w0 イヤホンのリモコンでYouTubeプレイリストを次の曲へ飛ばせるようにしたいんですけど
もしかしてVivaldiってControlSend働かなかったりしますか?
アクティブウィンドウにすればもちろん届くんですけど...
$Media_Next::
SetTitleMatchMode,2
ControlSend, , +n, ahk_class Chrome_WidgetWin_1, YouTube
return
動いた方↓
$Media_Next::
SetTitleMatchMode,2
WinActivate, YouTube ahk_class Chrome_WidgetWin_1
send,+n
return
もしかしてVivaldiってControlSend働かなかったりしますか?
アクティブウィンドウにすればもちろん届くんですけど...
$Media_Next::
SetTitleMatchMode,2
ControlSend, , +n, ahk_class Chrome_WidgetWin_1, YouTube
return
動いた方↓
$Media_Next::
SetTitleMatchMode,2
WinActivate, YouTube ahk_class Chrome_WidgetWin_1
send,+n
return
119名無しさん@お腹いっぱい。 (ワッチョイ 41b1-EL+e)
2019/05/18(土) 22:25:29.83ID:YTsL4HgD0 >114-117
ありがとうございます。順番に試しながらヒントにして
少しずつ追加したり入れ替えたりなんとかやってます。
理想的には秀丸マクロで
[Ctrl] [@] [a] で á
[Ctrl] [Shift] [@] [a] で à
としているのでそれをAHKでも再現したいのですが、
3つ以上はダメらしいですので、せめて
外国語キーボードにある、[@] と [a] で á、
[Shift] と [@] と [a] で à といった出し方はAHKでは再現
できないんでしょうか?
ありがとうございます。順番に試しながらヒントにして
少しずつ追加したり入れ替えたりなんとかやってます。
理想的には秀丸マクロで
[Ctrl] [@] [a] で á
[Ctrl] [Shift] [@] [a] で à
としているのでそれをAHKでも再現したいのですが、
3つ以上はダメらしいですので、せめて
外国語キーボードにある、[@] と [a] で á、
[Shift] と [@] と [a] で à といった出し方はAHKでは再現
できないんでしょうか?
120名無しさん@お腹いっぱい。 (ワッチョイWW 4ee5-qa8w)
2019/05/19(日) 09:09:14.32ID:KWlh8/PJ0121名無しさん@お腹いっぱい。 (ワッチョイWW 4ee5-qa8w)
2019/05/19(日) 09:14:15.36ID:KWlh8/PJ0 レス番超間違いすまん
>120は>119へのレス
>120は>119へのレス
122名無しさん@お腹いっぱい。 (ワッチョイ 41b1-EL+e)
2019/05/19(日) 21:49:43.64ID:u1McXRZM0 うーん、まだ自分がよく解っていないようです。
ちなみにホットストリングで修飾キーは使えないんですか?
:*:@a::{u+00e1}
は機能するのに
:*:^@a::{u+00e1} や :*:^@::{u+00e1}
は機能しないんですが・・・。
ちなみにホットストリングで修飾キーは使えないんですか?
:*:@a::{u+00e1}
は機能するのに
:*:^@a::{u+00e1} や :*:^@::{u+00e1}
は機能しないんですが・・・。
123名無しさん@お腹いっぱい。 (ワッチョイ aeb2-EL+e)
2019/05/19(日) 22:11:49.46ID:shAc6I6q0124名無しさん@お腹いっぱい。 (ワッチョイ 41b1-EL+e)
2019/05/20(月) 01:33:16.42ID:1TQOMk6E0 >>123
なるほど。かといって
^@a::Send, {u+00e1}
としても使えないんですよねぇ。
^a::
If GetKeyState("@", "T")
Send, {U+00E1}
Else
XXXXX
Return
で取り敢えず ^@a::Send, {U+00E1} 状態を作れました。
同時押しではなくて時間差を認める調整は必要ですが。
ただ、これだと通常のCtrl と aで「すべて選択」が効かなくなる
のですが、@を押していない場合のElseのXXXXX部分、
どう書いたら良いのでしょう?
なるほど。かといって
^@a::Send, {u+00e1}
としても使えないんですよねぇ。
^a::
If GetKeyState("@", "T")
Send, {U+00E1}
Else
XXXXX
Return
で取り敢えず ^@a::Send, {U+00E1} 状態を作れました。
同時押しではなくて時間差を認める調整は必要ですが。
ただ、これだと通常のCtrl と aで「すべて選択」が効かなくなる
のですが、@を押していない場合のElseのXXXXX部分、
どう書いたら良いのでしょう?
125名無しさん@お腹いっぱい。 (ワッチョイ aef5-EL+e)
2019/05/20(月) 01:54:05.75ID:xmYDYS/R0 なんでわざわざそんな変な使い方しなきゃならねえんだ
^@::Send, {u+00e1}
とか
^+@::Send, {u+00e1}
とかでいいだろ
^@::Send, {u+00e1}
とか
^+@::Send, {u+00e1}
とかでいいだろ
126名無しさん@お腹いっぱい。 (ワッチョイ 41b1-EL+e)
2019/05/20(月) 08:56:51.64ID:1TQOMk6E0 ですね。あとで気づきました。
^@::
If GetKeyState("a", "T")
Send, {U+00E1}
Return
^@::Send, {u+00e1}
や
^+@::Send, {u+00e1}
とせず ^@a にこだわるのは、あとで
^@e や ^ta とか、^+@a や ^+@e でも
使うつもりだからです。
^@::
If GetKeyState("a", "T")
Send, {U+00E1}
Return
^@::Send, {u+00e1}
や
^+@::Send, {u+00e1}
とせず ^@a にこだわるのは、あとで
^@e や ^ta とか、^+@a や ^+@e でも
使うつもりだからです。
127名無しさん@お腹いっぱい。 (ワッチョイ 4ee5-+HTC)
2019/05/20(月) 12:08:02.73ID:yF4IvTXT0 話の趣旨が変わってね? 同時押しじゃなくて順次入力で認識させたかったんじゃないの?
そもそもが
[Ctrl]→[Shift]→[@]→[a] なのか
[Ctrl]+[Shift]+[@]+[a] なのか
指定がないのでようわからんが
真にやりたかったのは
[Ctrl]+[Shift]+[@]→[a] なのでは?
http://codepad.org/TkxXCpoa
そもそもが
[Ctrl]→[Shift]→[@]→[a] なのか
[Ctrl]+[Shift]+[@]+[a] なのか
指定がないのでようわからんが
真にやりたかったのは
[Ctrl]+[Shift]+[@]→[a] なのでは?
http://codepad.org/TkxXCpoa
128名無しさん@お腹いっぱい。 (ワッチョイ 4ee5-+HTC)
2019/05/20(月) 12:37:55.01ID:yF4IvTXT0129名無しさん@お腹いっぱい。 (ワッチョイ 41b1-EL+e)
2019/05/21(火) 05:23:14.44ID:7W5GDYJe0 >>127
不慣れでわからないことだらけなので
まずは3〜4つのキーで目的の文字を出せるようにして、
キーの押し方はそのあとで考えようと思っていました。
リンクありがとうございます。あとで試してじっくり読んでみようと
思います。
とりあえず>120でヒントをもらったインプットを使って
^@::
Input,InputChar,C I L1 T10,{Esc},a
if ErrorLevel=Match
{
if InputChar=a
Send,{U+00E1}
}
return
としても ^@a は機能しました。数を増やしていくと何か
問題が出るのかはまだ検証してませんが。
不慣れでわからないことだらけなので
まずは3〜4つのキーで目的の文字を出せるようにして、
キーの押し方はそのあとで考えようと思っていました。
リンクありがとうございます。あとで試してじっくり読んでみようと
思います。
とりあえず>120でヒントをもらったインプットを使って
^@::
Input,InputChar,C I L1 T10,{Esc},a
if ErrorLevel=Match
{
if InputChar=a
Send,{U+00E1}
}
return
としても ^@a は機能しました。数を増やしていくと何か
問題が出るのかはまだ検証してませんが。
130名無しさん@お腹いっぱい。 (ワッチョイ a688-EL+e)
2019/05/21(火) 05:57:15.89ID:zoAcTfZP0 >>129
>キーの押し方はそのあとで考えようと思っていました
いやそれは先にハッキリさせるべきところだろ
3キー同時押しなのか順番押しなのか、それによってやり方も全然変わってくるんだから
質問するなら正確に何をやりたいのか伝えるのが礼儀ってもんだ
でないと答える側はお前が何やりたいのか全く分からねえし話がズレてくだけ
最初にF1で切り替えとか言ってた話はどこ行ったんだよと
>キーの押し方はそのあとで考えようと思っていました
いやそれは先にハッキリさせるべきところだろ
3キー同時押しなのか順番押しなのか、それによってやり方も全然変わってくるんだから
質問するなら正確に何をやりたいのか伝えるのが礼儀ってもんだ
でないと答える側はお前が何やりたいのか全く分からねえし話がズレてくだけ
最初にF1で切り替えとか言ってた話はどこ行ったんだよと
131名無しさん@お腹いっぱい。 (ワッチョイ 41b1-EL+e)
2019/05/22(水) 20:17:54.08ID:/ee0fjiV0 >>130
すいません。全部説明するとけっこう長くなるのと、
AHKではやりかたが変わるのかあとづけで修正が容易なのかも
はっきり知らなかったので1つずつ試行錯誤しながら質問していました。
F1の件は最低限の組み合わせを作ってテストしてうまくいきました。
F1はラテン文字以外のユニコード文字のまとまりを
複数切り替える想定のもので、^@aの話は日本語キーボードの
英数モードの拡張として試しているものです。
^@a でやっていることの全体像としては、1つのラテン文字
キーボードでできるだけ多くの音声記号つき文字や欧文で使う
合字・記号を出せるようにしようというものです。
ウィンドウズで設定できる外国語キーボードを調べるとどれも
一長一短で、また最も出せる文字が多いと思われるものでも
不足を感じたのと、どうせ切り替えるなら日本語の半角英数モードに
まとめてしまった方がいいのでは?と思いました。
@aや+@aの順次押しのようなやりかたは外国語キーボードで
使われているものです。^を加えたのは秀丸マクロで同じ事をする
場合、日本語英数モードの一部なので同じ場所が@になり、
@も残すために加えていたやり方を援用しようとしただけです。
なのでその先の話としては、^@aでアキュートつきaを出すのは
日本語キーボードの英数モードでのみにするとか、^+@aに更に
キャップスロックが加わる場合とか、英数モードへの集約に問題が
あって断念した場合、通常の言語切り替えで言語別にキーの
修正の仕方を変えられるのか?ということも調べようかと考えて
いました。
上で教えていただいたリンクのkeysUpdateやKeysCheckや
KeysClearというのはAHKwikiには解説の項目がありませんが、
どういった物を読めば使い方がわかりますか?
すいません。全部説明するとけっこう長くなるのと、
AHKではやりかたが変わるのかあとづけで修正が容易なのかも
はっきり知らなかったので1つずつ試行錯誤しながら質問していました。
F1の件は最低限の組み合わせを作ってテストしてうまくいきました。
F1はラテン文字以外のユニコード文字のまとまりを
複数切り替える想定のもので、^@aの話は日本語キーボードの
英数モードの拡張として試しているものです。
^@a でやっていることの全体像としては、1つのラテン文字
キーボードでできるだけ多くの音声記号つき文字や欧文で使う
合字・記号を出せるようにしようというものです。
ウィンドウズで設定できる外国語キーボードを調べるとどれも
一長一短で、また最も出せる文字が多いと思われるものでも
不足を感じたのと、どうせ切り替えるなら日本語の半角英数モードに
まとめてしまった方がいいのでは?と思いました。
@aや+@aの順次押しのようなやりかたは外国語キーボードで
使われているものです。^を加えたのは秀丸マクロで同じ事をする
場合、日本語英数モードの一部なので同じ場所が@になり、
@も残すために加えていたやり方を援用しようとしただけです。
なのでその先の話としては、^@aでアキュートつきaを出すのは
日本語キーボードの英数モードでのみにするとか、^+@aに更に
キャップスロックが加わる場合とか、英数モードへの集約に問題が
あって断念した場合、通常の言語切り替えで言語別にキーの
修正の仕方を変えられるのか?ということも調べようかと考えて
いました。
上で教えていただいたリンクのkeysUpdateやKeysCheckや
KeysClearというのはAHKwikiには解説の項目がありませんが、
どういった物を読めば使い方がわかりますか?
132名無しさん@お腹いっぱい。 (ワッチョイ aeda-bEG0)
2019/05/22(水) 20:23:04.87ID:MZL3QspE0 伝えるべきことを簡潔に伝えられない
これがアスペってやつか
これがアスペってやつか
133名無しさん@お腹いっぱい。 (ワッチョイWW 4ee5-qa8w)
2019/05/22(水) 21:17:29.23ID:oe8s41BQ0 動機や理由は該当の外国語キーボードとやらを知らない人には細かく書いてもわからないそれより動作仕様を簡潔にまとめよう
>128のkeysなんとか()はユーザー関数
複数にホットキーでほぼ同じことの繰り返し作業になるから纏めてあるだけ
新規.ahkに全文コピペで一通り動くように作ってあるんでとりあえず試してみて
関数についての解説はこの辺
http://ahkwiki.net/Function
>128のkeysなんとか()はユーザー関数
複数にホットキーでほぼ同じことの繰り返し作業になるから纏めてあるだけ
新規.ahkに全文コピペで一通り動くように作ってあるんでとりあえず試してみて
関数についての解説はこの辺
http://ahkwiki.net/Function
134名無しさん@お腹いっぱい。 (ワッチョイ 4173-N32O)
2019/05/22(水) 21:38:52.02ID:1pCKYHNG0 ahkwikiって誰も更新しなくなったけどなんで?
135名無しさん@お腹いっぱい。 (ワッチョイ 5f7e-Fpyl)
2019/05/23(木) 11:42:50.67ID:mjktGPuh0 ^ & [::Send, ^l
これが動作しないのですがどこが間違っているんでしょう
これが動作しないのですがどこが間違っているんでしょう
136名無しさん@お腹いっぱい。 (ワッチョイ e711-A9LV)
2019/05/23(木) 11:55:59.07ID:37i5KL+N0 おま環
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国連大使「日本が中国に武力行使すると脅しをかけたのは初めて」 国連事務総長に書簡★4 [♪♪♪★]
- 中国国連大使「日本が中国に武力行使すると脅しをかけたのは初めて」 国連事務総長に書簡★5 [♪♪♪★]
- 【芸能】44歳・池脇千鶴、激変ぶりにネット衝撃 「まるで別人…」「変化が凄い!!」の声 [冬月記者★]
- 高市首相告白「『なめられない服』を選ぶことに数時間を費やしました」「外交交渉でマウント取れる服、買わなくてはいかんかもなぁ」★4 [ぐれ★]
- なぜ立花孝志氏の言葉は信じられたのか…"異例の逮捕"が浮き彫りにした「SNSの危険な病理」 [ぐれ★]
- 【🐼】パンダ、日本で会えなくなる? 中国との関係悪化で不安の声 ★2 [ぐれ★]
- ハム専ファンフェス
- こいせん 全レス転載禁止
- 【DAZN】フォーミュラGP【F1 2 3 SF P】Lap1807
- 巨専】
- 【DAZN/ABEMA】リーグ・アン総合 ★4
- 【DAZN/U-NEXT】ラ・リーガ ★30
- 「高橋留美子」作品で好きなヒロイン、「久遠寺右京」「管理人さん」「九能小太刀」「シャンプー」👈あと1人は? [519998392]
- 愛国者「日本に手を出したらアメリカが黙ってないぞ?」 [834922174]
- ニートになったんやけどタイミーデビューしようと思う
- ドングリとか木の実が主食とかクマってもうイベリコ豚じゃん
- ふんふんふふんふん(´・ω・`)
- 「玉名市」とかいうタマヒュン地名…
