!extend:vvvvv:1000:512
!extend:vvvvv:1000:512
↑スレ立てする時は3行にして下さい
■配布元
https://autohotkey.com/download/
■前スレ
AutoHotkey スレッド part28
https://egg.5ch.net/test/read.cgi/software/1585906506/
■日本語解説等
AutoHotkey Wiki
http://ahkwiki.net
AutoHotkeyを流行らせるページ(ミラー)
http://hdd.s300.xrea.com/ahk/
AutoHotkeyJp(過去ログdatあり)
https://sites.google.com/site/autohotkeyjp/
Autohotkey日本語ヘルプ(chmファイル)
https://www6.atwiki.jp/eamat/
■スクリプト投稿
Autohotkey専用うpろだ
https://ux.getuploader.com/autohotkeyl/
簡易スクリプト掲示板
https://pastebin.com/
■その他のテンプレ(5chのURL規制が厳しいのでpastebinに退避しました)
https://pastebin.com/raw/bWipuNmt
※テンプレここまで
VIPQ2_EXTDAT: default:default:1000:512:: EXT was configured
AutoHotkey スレッド part29
■ このスレッドは過去ログ倉庫に格納されています
1名無しさん@お腹いっぱい。
2021/05/12(水) 06:27:46.35ID:d0RqdHRN097名無しさん@お腹いっぱい。
2021/06/26(土) 16:13:39.52ID:YMWaKQ7M02021/06/26(土) 16:39:44.17ID:Mmu5TAWq0
IsContains関数を作ればいい
2021/06/26(土) 16:42:47.62ID:9IIz9xeh0
>>96
Var2が小文字の"W"で"win10"になってるんじゃ?
Var2が小文字の"W"で"win10"になってるんじゃ?
2021/06/26(土) 23:56:10.81ID:k0iOA11D0
2021/06/29(火) 15:47:29.32ID:OmB1aiW20
任意の座標x,yにあるClassNN名を取得するにはどうしたらいい?
2021/06/29(火) 16:13:11.82ID:Dg/dHH8B0
現在座標を記憶させてからMouseMoveで指定座標に移動させて
MouseGetPosで取得した後に元の位置に戻せばいいんじゃないの?
MouseGetPosで取得した後に元の位置に戻せばいいんじゃないの?
2021/06/29(火) 16:28:22.28ID:OmB1aiW20
2021/06/30(水) 03:47:54.10ID:36tlCWcv0
API使ってもいいならWindowFromPoint関数が使えるかもしれんけど、AHK自体に同等の機能があるかは分からん
2021/07/09(金) 09:54:20.68ID:gLgFTNcp0
バグなのかわからんが、Tooltipをいつも前面に出すようにしているのに、何かのきっかけで裏に隠れてしまって
出てこなくなる
なんかリフレッシュとかして表に出すようにできませんか
プログラムの途中にそういうのを入れてしまおうと思っています
出てこなくなる
なんかリフレッシュとかして表に出すようにできませんか
プログラムの途中にそういうのを入れてしまおうと思っています
2021/07/10(土) 01:10:40.88ID:OeCRwn4J0
ホバークラフトみたいだね
2021/07/10(土) 01:13:09.88ID:Um2IbjqL0
>>105
SetTimerとかで数秒おきにTooltip再表示繰り返すとかじゃアカンの?
SetTimerとかで数秒おきにTooltip再表示繰り返すとかじゃアカンの?
108名無しさん@お腹いっぱい。
2021/07/10(土) 16:10:11.87ID:Z08514+A0 画面ロック時に実行したい処理があったので、
ahkでWin+Lをハンドリングして処理を実行してからahk側で画面ロックしようと思いました
とりあえず
#l::
(処理)
Return
と書いて実行したところ、処理が実行された後、ahk側で何もしてないのに画面ロックもされてしまいました
ahkでハンドリングしているのに、Win+Lのキー入力が生きたままWindowsに届いているようです
何故このような動作になるのでしょうか?
ahkでWin+Lをハンドリングして処理を実行してからahk側で画面ロックしようと思いました
とりあえず
#l::
(処理)
Return
と書いて実行したところ、処理が実行された後、ahk側で何もしてないのに画面ロックもされてしまいました
ahkでハンドリングしているのに、Win+Lのキー入力が生きたままWindowsに届いているようです
何故このような動作になるのでしょうか?
2021/07/10(土) 16:38:21.35ID:OebqiqzO0
110名無しさん@お腹いっぱい。
2021/07/10(土) 16:46:11.90ID:Z08514+A0111名無しさん@お腹いっぱい。
2021/07/12(月) 23:27:47.23ID:1PXNZm6S0 初歩的な質問ですみません
想定通りに動かないので、1動作ずつ確認していきたいんですが、ステップイン的な機能はありますか?
想定通りに動かないので、1動作ずつ確認していきたいんですが、ステップイン的な機能はありますか?
2021/07/12(月) 23:35:36.80ID:+PXMAsbp0
「ステップイン的な機能」というのは分からないけど
1動作ずつ確認するならMsgBoxをはさんでおけばいいのでは?
1動作ずつ確認するならMsgBoxをはさんでおけばいいのでは?
2021/07/13(火) 00:47:44.71ID:riaXbIX+0
>>111
デバッグしたいならvscodeのプラグイン入れればいい
デバッグしたいならvscodeのプラグイン入れればいい
2021/07/15(木) 07:56:27.97ID:K/YzcHeN0
Winsetでウインドウを透明にした
前、Windows7のときは問題なかったんだが、Windows10にしたら、ウインドウの外枠が薄く残っていて
ちゃんとできない
どしたらいい?
前、Windows7のときは問題なかったんだが、Windows10にしたら、ウインドウの外枠が薄く残っていて
ちゃんとできない
どしたらいい?
2021/07/21(水) 13:14:44.02ID:Akc/lH+V0
ファイルの説明: AutoHotkey Unicode 32-bit
ファイル バージョン: 1.1.32.0
スクリプトとテキストファイルの文字コードはUTF-8 BOM
ドラッグ&ドロップしたテキストファイルの中身を置換したいのですが思い通りにいかず煮詰まってます
どうかエロいみなさんの知恵を貸してください
ファイル バージョン: 1.1.32.0
スクリプトとテキストファイルの文字コードはUTF-8 BOM
ドラッグ&ドロップしたテキストファイルの中身を置換したいのですが思い通りにいかず煮詰まってます
どうかエロいみなさんの知恵を貸してください
2021/07/21(水) 13:20:12.23ID:Akc/lH+V0
これ以上書き込めないorz 上のヘルプは忘れてください
2021/07/21(水) 14:07:15.75ID:YvpNlGJJ0
コード貼れないなら pastebin使うといいよ
https://pastebin.com/
https://pastebin.com/
118115
2021/07/21(水) 14:43:13.59ID:Akc/lH+V0 >>117
ありがとうございます
以下が試したスクリプトになります
ttps://pastebin.com/raw/epDAw6nM
置換前のテキスト
--------------
味噌ラーメン
ソース焼きそば
塩ラーメン
塩焼きそば
--------------
ありがとうございます
以下が試したスクリプトになります
ttps://pastebin.com/raw/epDAw6nM
置換前のテキスト
--------------
味噌ラーメン
ソース焼きそば
塩ラーメン
塩焼きそば
--------------
2021/07/21(水) 14:44:07.81ID:Akc/lH+V0
置換後のテキスト(上のスクリプトの実行結果)
--------------
味噌ラーメン
.ース焼きそば
塩ラーメン
.焼きそば
--------------
置換後のテキスト(希望する結果)
--------------
ソース焼きそば
塩焼きそば
--------------
--------------
味噌ラーメン
.ース焼きそば
塩ラーメン
.焼きそば
--------------
置換後のテキスト(希望する結果)
--------------
ソース焼きそば
塩焼きそば
--------------
2021/07/21(水) 14:52:06.07ID:Akc/lH+V0
「ラーメン」を含む行を削除したいのですが上手くいきません
ヒントをいただければ助かります
長文失礼しました
ヒントをいただければ助かります
長文失礼しました
2021/07/21(水) 17:51:26.43ID:/9Jmhssj0
なんでそんな結果になってるかというとファイルポインタというもののせいなんだけど
でもオープンしたファイルの一部分だけ書き換えるのって正直面倒なんで
一旦テキスト丸ごと取り込んで置換して、wフラグで全書き換えしちゃったほうが楽
でもオープンしたファイルの一部分だけ書き換えるのって正直面倒なんで
一旦テキスト丸ごと取り込んで置換して、wフラグで全書き換えしちゃったほうが楽
2021/07/21(水) 20:07:22.89ID:Akc/lH+V0
2021/07/23(金) 18:51:04.61ID:1QFXGc4F0
VSCodeのautohotkey Plusっていう拡張機能使っているんだけど、
変数とかがVSCode内で表示できるのはありがたいんだけど、KeyHistoryも同様に表示できないの?
他の拡張機能でもいいんだけど・・・
変数とかがVSCode内で表示できるのはありがたいんだけど、KeyHistoryも同様に表示できないの?
他の拡張機能でもいいんだけど・・・
124名無しさん@お腹いっぱい。
2021/07/24(土) 16:45:57.57ID:zwomsF840 >>123
その拡張機能使っているが、KeyHistory見たいことなんてそうそうないな。
デバッガ使っていれば大体事足る。
あるならあるでいいし、比較的簡単に実現できそうなことだから、Issue出してみては?
その拡張機能使っているが、KeyHistory見たいことなんてそうそうないな。
デバッガ使っていれば大体事足る。
あるならあるでいいし、比較的簡単に実現できそうなことだから、Issue出してみては?
2021/07/25(日) 15:22:12.08ID:gBEwBjKS0
2021/08/02(月) 13:57:09.78ID:5Fn6X67Z0
UIAccessって機能を初めて知ったけど想像以上に凄いわ
タスクスケジューラでわざわざ管理者権限で実行してたけどこっちの方が楽だな
Runで開いたウィンドウまで管理者になっちゃうみたいな変な動作も起こらないし
タスクスケジューラでわざわざ管理者権限で実行してたけどこっちの方が楽だな
Runで開いたウィンドウまで管理者になっちゃうみたいな変な動作も起こらないし
127名無しさん@お腹いっぱい。
2021/08/04(水) 00:19:36.89ID:Z/OIH3AQ0 初心者です。押し続け・連続押しで、反応しないようにしたいです。
❶質問
例えば、F1キーに、アプリを起動するように設定しています。
f1:: Run, "C:\Users\****\****.exe"
しかし、複数開くことが可能なアプリの為、
少し押し続けたり、2回連続で押してしまった場合、
無限に複数起動してしまいます。(Esc長押しをしてしばらく削除するハメに)
そちらを防止したいです。表記法をご教示ください。
❷質問
テンキーのようなデバイスを使用しているのですが、
そちらは押し続けてもCtrl+Zが連続で認識しません。
デバイスの仕様の可能性もありますが、
一定時間(0.3秒以上)押し続けた場合に連続してキー入力する方法を教えて下さい。
(デバイスに、AHKあてるのは可能なのか試してみたい為)
お力添え宜しくお願いします。
❶質問
例えば、F1キーに、アプリを起動するように設定しています。
f1:: Run, "C:\Users\****\****.exe"
しかし、複数開くことが可能なアプリの為、
少し押し続けたり、2回連続で押してしまった場合、
無限に複数起動してしまいます。(Esc長押しをしてしばらく削除するハメに)
そちらを防止したいです。表記法をご教示ください。
❷質問
テンキーのようなデバイスを使用しているのですが、
そちらは押し続けてもCtrl+Zが連続で認識しません。
デバイスの仕様の可能性もありますが、
一定時間(0.3秒以上)押し続けた場合に連続してキー入力する方法を教えて下さい。
(デバイスに、AHKあてるのは可能なのか試してみたい為)
お力添え宜しくお願いします。
2021/08/04(水) 00:58:43.63ID:kkqwFcjT0
129名無しさん@お腹いっぱい。
2021/08/04(水) 01:06:27.31ID:Z/OIH3AQ02021/08/04(水) 01:14:00.85ID:Ijym+1qq0
>>127
アンサー1
長押しでリピート回避するだけなら
f1::
Run, "C:\Users\****\****.exe"
Return
で大丈夫かと
2回押しで複数起動回避はIfWinExistで分岐してすでに存在してたらWinActivateでアクティブにする
存在してなかったらRunで起動
アンサー2
そのデバイスがなんだかわからんけど
一定時間(0.3秒以上)押し続けた場合に連続してキー入力する方法は
wikiのサンプルコード集、「1つのキーに3種類以上の動作割り当て」を参考に0.3秒以上押したかどうかで分岐して
あとはLoopなどでSendを繰り返してキーを離したらBreak
>>129
何が間違ってるかはそのスクリプトを見ないと俺らに分かる訳がない
いずれにせよ単順に勉強不足かと
急がば回れ、サンプルコード集などよく見て一行ずつの意味を理解できる程度にはなってからやりたいことやった方が良い
アンサー1
長押しでリピート回避するだけなら
f1::
Run, "C:\Users\****\****.exe"
Return
で大丈夫かと
2回押しで複数起動回避はIfWinExistで分岐してすでに存在してたらWinActivateでアクティブにする
存在してなかったらRunで起動
アンサー2
そのデバイスがなんだかわからんけど
一定時間(0.3秒以上)押し続けた場合に連続してキー入力する方法は
wikiのサンプルコード集、「1つのキーに3種類以上の動作割り当て」を参考に0.3秒以上押したかどうかで分岐して
あとはLoopなどでSendを繰り返してキーを離したらBreak
>>129
何が間違ってるかはそのスクリプトを見ないと俺らに分かる訳がない
いずれにせよ単順に勉強不足かと
急がば回れ、サンプルコード集などよく見て一行ずつの意味を理解できる程度にはなってからやりたいことやった方が良い
131名無しさん@お腹いっぱい。
2021/08/04(水) 01:48:39.09ID:Z/OIH3AQ0 >>130
❶そのとおりに表記しましたが、できませんでした。
(Returnを表記してもしなくても同じでした。)
長押しをしても、複数起動してしまいます。
ソフトはRaptureです。
ボタンを離したら起動、ということはできないでしょうか?
動作する表記で、宜しくお願いします。
❶そのとおりに表記しましたが、できませんでした。
(Returnを表記してもしなくても同じでした。)
長押しをしても、複数起動してしまいます。
ソフトはRaptureです。
ボタンを離したら起動、ということはできないでしょうか?
動作する表記で、宜しくお願いします。
2021/08/04(水) 01:50:47.81ID:Ijym+1qq0
>>131
じゃあRunの前にKeywait, F1
じゃあRunの前にKeywait, F1
2021/08/04(水) 02:00:37.20ID:kkqwFcjT0
だめだこいつ
2021/08/04(水) 02:05:39.19ID:TOoMT/X30
>>131
ホットキーの基本くらいはさすがにドキュメント読もうぜ
ホットキーの基本くらいはさすがにドキュメント読もうぜ
2021/08/04(水) 02:13:00.50ID:Ijym+1qq0
2021/08/04(水) 02:19:13.57ID:TOoMT/X30
AHKは地味に人気あって、ちょっと検索すればwiki以外にも解説しているところが結構あるから
やる気あるかあるかの問題だと思うわ
やる気あるかあるかの問題だと思うわ
137名無しさん@お腹いっぱい。
2021/08/04(水) 04:36:24.01ID:T0FNW6vV0 >>127
1.
他の人(>>128 >>130)も書いてくれているが、
多重起動防止は、すでに当該のプログラムが実行中かどうかで判断できる
プログラムが実行中かどうかは
WinExist などで調べられる
https://www.autohotkey.com/docs/commands/WinExist.htm
http://ahkwiki.net/WinExist
Process
https://www.autohotkey.com/docs/commands/Process.htm
http://ahkwiki.net/Process
AHK 多重起動防止 でぐぐったらドンピシャな記事がすぐに見つかった
Firefoxを起動 or 前面化
F1::
Process, Exist, firefox.exe
if ErrorLevel <> 0
WinActivate, ahk_pid %ErrorLevel%
else
Run, "C:\Program Files\Mozilla Firefox\firefox.exe"
Return
これの firefox の箇所を Rapture に変えたらそのまま使えると思う
1.
他の人(>>128 >>130)も書いてくれているが、
多重起動防止は、すでに当該のプログラムが実行中かどうかで判断できる
プログラムが実行中かどうかは
WinExist などで調べられる
https://www.autohotkey.com/docs/commands/WinExist.htm
http://ahkwiki.net/WinExist
Process
https://www.autohotkey.com/docs/commands/Process.htm
http://ahkwiki.net/Process
AHK 多重起動防止 でぐぐったらドンピシャな記事がすぐに見つかった
Firefoxを起動 or 前面化
F1::
Process, Exist, firefox.exe
if ErrorLevel <> 0
WinActivate, ahk_pid %ErrorLevel%
else
Run, "C:\Program Files\Mozilla Firefox\firefox.exe"
Return
これの firefox の箇所を Rapture に変えたらそのまま使えると思う
138名無しさん@お腹いっぱい。
2021/08/04(水) 04:45:33.72ID:T0FNW6vV0 >>127
1.補足
2chのNGワードにより、記事のURLは貼れなかった
2.
>>130が書いてくれているが、
http://ahkwiki.net/SampleCodes#1.E3.81.A4.E3.81.AE.E3.82.AD.E3.83.BC.E3.81.AB3.E7.A8.AE.E9.A1.9E.E4.BB.A5.E4.B8.8A.E3.81.AE.E5.8B.95.E4.BD.9C.E5.89.B2.E3.82.8A.E5.BD.93.E3.81.A6
1つのキーに3種類以上の動作割り当て
キー::
ループ
KeyWait, キー, T0.3 ;0.3秒対象キーが押されたかどうか
if 押された
Send 連続してキー入力したいキー
else
break
return
1.補足
2chのNGワードにより、記事のURLは貼れなかった
2.
>>130が書いてくれているが、
http://ahkwiki.net/SampleCodes#1.E3.81.A4.E3.81.AE.E3.82.AD.E3.83.BC.E3.81.AB3.E7.A8.AE.E9.A1.9E.E4.BB.A5.E4.B8.8A.E3.81.AE.E5.8B.95.E4.BD.9C.E5.89.B2.E3.82.8A.E5.BD.93.E3.81.A6
1つのキーに3種類以上の動作割り当て
キー::
ループ
KeyWait, キー, T0.3 ;0.3秒対象キーが押されたかどうか
if 押された
Send 連続してキー入力したいキー
else
break
return
2021/08/04(水) 07:53:08.63ID:X3h92MKc0
2021/08/04(水) 07:56:43.21ID:X3h92MKc0
あ、ごめん質問者じゃなくてアドバイスしてる側の人か
>139は無視して
>139は無視して
141名無しさん@お腹いっぱい。
2021/08/04(水) 18:17:08.55ID:Z/OIH3AQ0 1つ目ですが、どうしても押しっぱなしの場合には起動しないようにしたかった為、
最初を ::F1 up として、ボタンを離した時のみ起動するようにしました。
追加で、1つのキーに3種類以上の動作割り当ての記事を元に、
2度押しでEveryshing等の別ソフトを起動するようにしました。
みなさま ありがとうございます。
最初を ::F1 up として、ボタンを離した時のみ起動するようにしました。
追加で、1つのキーに3種類以上の動作割り当ての記事を元に、
2度押しでEveryshing等の別ソフトを起動するようにしました。
みなさま ありがとうございます。
2021/08/09(月) 18:41:17.93ID:WQb4cyKs0
すごく基本的な質問なようで恐縮だけど。
IME.ahkのカーソルの横に出るポップアップは、どうしたら非表示にできますか?
IME.ahkのカーソルの横に出るポップアップは、どうしたら非表示にできますか?
2021/08/09(月) 19:30:15.47ID:TLTXsmOr0
2021/08/09(月) 20:00:19.79ID:WQb4cyKs0
2021/08/09(月) 20:39:38.14ID:dAASpWa80
>>144
Autoexecuteの部分は動作確認用だからまるっと削っちゃっても構わないよ
なんならIME.ahk内の使いたい関数だけコピペで移植してもおk
(それぞれの関数に依存関係はないので欲しいところだけ切貼でいける)
Autoexecuteの部分は動作確認用だからまるっと削っちゃっても構わないよ
なんならIME.ahk内の使いたい関数だけコピペで移植してもおk
(それぞれの関数に依存関係はないので欲しいところだけ切貼でいける)
2021/08/09(月) 22:12:35.32ID:WQb4cyKs0
2021/08/09(月) 22:15:11.24ID:WpynnAdF0
あっそ
書いたもの見せる気もないんだろうし諦めればいいよ
書いたもの見せる気もないんだろうし諦めればいいよ
2021/08/09(月) 22:44:14.48ID:WQb4cyKs0
書いたファイルとIME.ahkのポップアップとに関係あるんか?
$^l::
imeMode := IME_Get()
if (%imeMode% = 0)
{
Send ^l
return
}
else
{
IME_SET(0)
Send ^!l
return
}
$^l::
imeMode := IME_Get()
if (%imeMode% = 0)
{
Send ^l
return
}
else
{
IME_SET(0)
Send ^!l
return
}
2021/08/09(月) 22:44:16.18ID:OqeDcUJs0
>>146
#include ime.ahk ってやってるならその行外して
ime.ahkをlibフォルダに入れてみては?
というかIme.ahkのバージョン分からないのでソース貼ってもらわないとちょっと分からない
(派生の改装版を拾ってる可能性もあるし)
>1のpaste.binに呼び出してるスプリクトごと貼ってみて
#include ime.ahk ってやってるならその行外して
ime.ahkをlibフォルダに入れてみては?
というかIme.ahkのバージョン分からないのでソース貼ってもらわないとちょっと分からない
(派生の改装版を拾ってる可能性もあるし)
>1のpaste.binに呼び出してるスプリクトごと貼ってみて
2021/08/09(月) 22:47:14.97ID:OqeDcUJs0
2021/08/09(月) 23:00:41.45ID:q8y2my1H0
%を外すのは当然だけど、ahkの場合
数値比較で==にしても意味ないのでは?
数値比較で==にしても意味ないのでは?
2021/08/09(月) 23:06:31.86ID:WQb4cyKs0
2021/08/09(月) 23:14:57.11ID:WQb4cyKs0
libフォルダをつかったらポップアップが消えました。
解決です。
ありがとうございました!
解決です。
ありがとうございました!
2021/08/09(月) 23:45:07.57ID:TLTXsmOr0
結局、まともに説明書読んでなかったってことか…あほらし(´・ω・`)
2021/08/13(金) 19:28:37.23ID:9BKPn+c80
先月にv2がbetaに移行したんだな
遅くとも再来年には正式リリースしそうな感じ
遅くとも再来年には正式リリースしそうな感じ
2021/08/14(土) 14:12:09.23ID:fegqMa910
v2は既存の言語に慣れてる人にはとっつきやすいので個人的には好きなんだけど
v1.1と互換性なさすぎて全く普及する気がしないんだよな
v1.1と互換性なさすぎて全く普及する気がしないんだよな
2021/08/14(土) 15:40:15.61ID:ymj/xDId0
使えるホットキーの全機能一覧とかどこかに無いですかね?
ポインタを特定のモニタの指定しておいた座標に二点間移動する操作がしたいです
現在他のフリーソフトでやってますが移行を検討しています
ポインタを特定のモニタの指定しておいた座標に二点間移動する操作がしたいです
現在他のフリーソフトでやってますが移行を検討しています
2021/08/14(土) 16:12:20.37ID:bgvsRPhs0
2021/08/14(土) 16:42:12.31ID:OUajTPy30
2021/08/14(土) 18:07:58.36ID:nsYULcNi0
v2ってL1.1系の機能は網羅されているんだっけ?
161名無しさん@お腹いっぱい。
2021/08/15(日) 04:32:40.83ID:TLZIBUY10 v3では、window title の match mode をグローバル変数で指定する仕様をやめて、
関数の引数で指定できるようにしてほしいな
グローバル変数を不必要に使わない設計にしてほしい
関数の引数で指定できるようにしてほしいな
グローバル変数を不必要に使わない設計にしてほしい
2021/08/15(日) 09:16:44.11ID:UV7vwGxG0
?
SetTitleMatchModeは直値指定だし
組み込み変数をグローバル変数と呼ぶのは違くない?
多分AutoHotkey.exeの内部ではスレッド毎にクラス化して新規作成してるだろうし
A_TitleMatchModeで参照できる値も厳密にはグローバルじゃないと思う
SetTitleMatchModeは直値指定だし
組み込み変数をグローバル変数と呼ぶのは違くない?
多分AutoHotkey.exeの内部ではスレッド毎にクラス化して新規作成してるだろうし
A_TitleMatchModeで参照できる値も厳密にはグローバルじゃないと思う
2021/08/15(日) 10:11:13.45ID:651gBVw60
ERRORLEVELと一緒でスレッドごとに作られるからグローバルとは言えないね
それにあれは関連関数の設定を一括で変更できるから意味があるのであって
それにあれは関連関数の設定を一括で変更できるから意味があるのであって
164名無しさん@お腹いっぱい。
2021/08/15(日) 21:21:28.75ID:TLZIBUY10 >>162
グローバルに指定、という意味で言った
現状ではAHK全体を通して1つのtitle match modeしか使えない
(使用する都度global なtitle match modeを変更する方法もあるが、
マルチスレッドに対応させないとマルチスレッドを使うときに不具合の原因になる)
このあたりは、AutoItの未熟な言語仕様を引き継いでしまっているのだろうと思う
グローバルに指定、という意味で言った
現状ではAHK全体を通して1つのtitle match modeしか使えない
(使用する都度global なtitle match modeを変更する方法もあるが、
マルチスレッドに対応させないとマルチスレッドを使うときに不具合の原因になる)
このあたりは、AutoItの未熟な言語仕様を引き継いでしまっているのだろうと思う
2021/08/15(日) 23:55:40.34ID:651gBVw60
だからスレッドごとにデフォルトにリセットされるんだから
分けて使えるでしょ
それに引数で変えられるようにしたかったら、そういう関数書いて
libにでも放り込んでおけばいいわけだし
分けて使えるでしょ
それに引数で変えられるようにしたかったら、そういう関数書いて
libにでも放り込んでおけばいいわけだし
2021/08/16(月) 00:14:53.10ID:34Pl9I0O0
>>164
>165でも言われてるけどホットキーやTimerで別スレッド立ち上がるごとに
Autoexecuteセクションで指定したデフォルト値がセットされる仕様よ
各スレッド内で SetTitleMatchModeを実行しても他のスレッドには影響しない
>165でも言われてるけどホットキーやTimerで別スレッド立ち上がるごとに
Autoexecuteセクションで指定したデフォルト値がセットされる仕様よ
各スレッド内で SetTitleMatchModeを実行しても他のスレッドには影響しない
2021/08/22(日) 20:39:32.02ID:3FT4NmSR0
いずれかのホットキーが押されて処理が実行されたとき、
必ずエラーをキャッチし、共通処理を行うようにできませんか?
現状は下のような感じなのですが、たくさんあるホットキーそれぞれにTry-Catchを記述するのが面倒です。
宜しくお願い致します。
;ホットキー1
^+!q::
Try {
} Catch {
;共通処理
return
}
;ホットキー2
^+!a::
Try {
} Catch {
;共通処理
return
}
必ずエラーをキャッチし、共通処理を行うようにできませんか?
現状は下のような感じなのですが、たくさんあるホットキーそれぞれにTry-Catchを記述するのが面倒です。
宜しくお願い致します。
;ホットキー1
^+!q::
Try {
} Catch {
;共通処理
return
}
;ホットキー2
^+!a::
Try {
} Catch {
;共通処理
return
}
2021/08/22(日) 22:39:57.14ID:YkJG9mBI0
>>167
関数化すればいいんでね?
関数化すればいいんでね?
2021/08/23(月) 08:32:08.66ID:OlmLkjoZ0
^+!q::
^+!a::
Try {
} Catch {
;共通処理
return
}
return
でもいいし
^+!q:: func(A_ThisHotkey)
^+!a:: func(A_ThisHotkey)
func(trigger) {
Try {
} Catch {
;共通処理
return
}
}
でもいいし
エラー処理ならOnError()でまとめてもいいかもね
^+!a::
Try {
} Catch {
;共通処理
return
}
return
でもいいし
^+!q:: func(A_ThisHotkey)
^+!a:: func(A_ThisHotkey)
func(trigger) {
Try {
} Catch {
;共通処理
return
}
}
でもいいし
エラー処理ならOnError()でまとめてもいいかもね
2021/08/23(月) 21:34:30.71ID:h0dc4mc+0
2021/08/24(火) 16:08:20.14ID:Hp5kGUoJ0
無変換をalt+Xに割り当てているのですが、altキーが押しっぱなしになってしまうバグが多発しています。
ahk再読み込みで直すのですが、毎回するのが大変です。
!x::
send,{vk1Dsc07B}
return
何か良い方法ないでしょうか?お願いします。
ahk再読み込みで直すのですが、毎回するのが大変です。
!x::
send,{vk1Dsc07B}
return
何か良い方法ないでしょうか?お願いします。
2021/08/24(火) 17:20:55.06ID:2iVnVpkG0
!x::send,{sc07B}{Alt Up}
これはどう?
直るかはわからんけど
これはどう?
直るかはわからんけど
2021/08/24(火) 17:48:41.29ID:Hp5kGUoJ0
>>172
そちらですとそもそも無変換すら機能しませんでした
純粋にalt upも一緒に送信すればいいのかと思い
!x::
send,{vk1Dsc07B}{Alt Up}
return
にしてみましたがやはり何度かalt Xを押すと押しっぱなし状態が維持されてしまいます
そちらですとそもそも無変換すら機能しませんでした
純粋にalt upも一緒に送信すればいいのかと思い
!x::
send,{vk1Dsc07B}{Alt Up}
return
にしてみましたがやはり何度かalt Xを押すと押しっぱなし状態が維持されてしまいます
2021/08/24(火) 17:50:21.96ID:jLPHGqp70
固定キーになってるとか
2021/08/24(火) 17:59:42.88ID:/akje9zD0
>>171
>>1のその他テンプレより抜粋
Q9:[Ctrl][Shift][Alt]が押されっぱなしになる時がある。これってAHKのせい?
A9:AHKが原因の場合とそうでないときがある
○AHKが原因の場合
AHKには、以下のような修飾キー付きのホットキーで修飾キー無しでキーを発効する場合、
一時的に修飾キー押下を解除して、発効後に押下状態を再度設定する機構がある。
しかしこのように発効するキーストロークが多い場合は、Sendコマンドが完了する前に
物理キーが押下解除されてしまっている場合がある。この齟齬が押しっぱなしの原因となる。
例) ^W::Send, {w 30}
これを回避するためには、以下の方法をとればよい:
・キー押下状態を常に監視するキーボードフックを導入する(#InstallKeybdHook)
・キー発効のコマンドを SendInput, SendPlay にする(SendModeで一括指定でもよい)
・上記二つが出来ない場合は、SetKeyDelay, 0 等としてキー発効をなるべく早く行うか、
#HotkeyModifierTimeout で修飾キー押下のタイムアウト値を長めに設定をする。
なお、他のキー発効を行うツール(クリップボードユーティリティやマウスジェスチャツールなど)が、
発効する修飾キーが原因となる場合もあるが、フックの導入でほぼ解決出来ると思われる。
>>1のその他テンプレより抜粋
Q9:[Ctrl][Shift][Alt]が押されっぱなしになる時がある。これってAHKのせい?
A9:AHKが原因の場合とそうでないときがある
○AHKが原因の場合
AHKには、以下のような修飾キー付きのホットキーで修飾キー無しでキーを発効する場合、
一時的に修飾キー押下を解除して、発効後に押下状態を再度設定する機構がある。
しかしこのように発効するキーストロークが多い場合は、Sendコマンドが完了する前に
物理キーが押下解除されてしまっている場合がある。この齟齬が押しっぱなしの原因となる。
例) ^W::Send, {w 30}
これを回避するためには、以下の方法をとればよい:
・キー押下状態を常に監視するキーボードフックを導入する(#InstallKeybdHook)
・キー発効のコマンドを SendInput, SendPlay にする(SendModeで一括指定でもよい)
・上記二つが出来ない場合は、SetKeyDelay, 0 等としてキー発効をなるべく早く行うか、
#HotkeyModifierTimeout で修飾キー押下のタイムアウト値を長めに設定をする。
なお、他のキー発効を行うツール(クリップボードユーティリティやマウスジェスチャツールなど)が、
発効する修飾キーが原因となる場合もあるが、フックの導入でほぼ解決出来ると思われる。
2021/08/24(火) 18:18:45.52ID:Hp5kGUoJ0
固定キー機能のことですかね?そちらは設定していないです。
とりあえずそもそもautohotkeyではなく、powertoyを使って右altを無変換キーに割り当てました。
これで代用しようと思います
とりあえずそもそもautohotkeyではなく、powertoyを使って右altを無変換キーに割り当てました。
これで代用しようと思います
2021/08/24(火) 18:19:15.90ID:Hp5kGUoJ0
>>175
ありがとうございます!試してみます!
ありがとうございます!試してみます!
2021/08/25(水) 02:27:14.32ID:d/ZoxKx70
>>177
直接の対処法じゃないけど、押しっぱの時にTooltipが出るスクリプトを使うと視覚で分かるようになる
AutoHotkey スレッド part8
https://pc12.5ch.net/test/read.cgi/software/1243005818/176-182
10年以上前のだけど今でも動く
デフォだと[Ctrl][Shift][Alt][Win]の3秒以上の押しっぱなしで発動される
直接の対処法じゃないけど、押しっぱの時にTooltipが出るスクリプトを使うと視覚で分かるようになる
AutoHotkey スレッド part8
https://pc12.5ch.net/test/read.cgi/software/1243005818/176-182
10年以上前のだけど今でも動く
デフォだと[Ctrl][Shift][Alt][Win]の3秒以上の押しっぱなしで発動される
2021/08/25(水) 12:46:30.10ID:IBOXHB9F0
>>178
マウスポインタ化に出るんですね!とてもわかり易いです ありがとうございます
マウスポインタ化に出るんですね!とてもわかり易いです ありがとうございます
2021/08/26(木) 15:09:11.08ID:d56h32eE0
>>175
ちなみにこれを順々に試していき、SendPlayで無変換送信でしたら大丈夫になりました。
;;;altとXで無変換
!x::
SendPlay,{vk1Dsc07B}
return
出るタイミングが
>Sendコマンドが完了する前に物理キーが押下解除されてしまっている場合がある。
の通りで、alt+Xのボタンをすぐに離すと必ずaltだけ残り続ける状態でした。
・#InstallKeybdHook→効果なし
・SendInput→効果なし
・SetKeyDelay, 0→効果なし でした。
また、windowsキーとのコンビネーションの割当の際もwinキーが押しっぱなしになってしまう事があるのですが、そちらは逆にSendPlayでは解決されず普通にSendの方が良いようです
AHKとても難しいですね、、一応少しだけ解決したので書いておきます
ちなみにこれを順々に試していき、SendPlayで無変換送信でしたら大丈夫になりました。
;;;altとXで無変換
!x::
SendPlay,{vk1Dsc07B}
return
出るタイミングが
>Sendコマンドが完了する前に物理キーが押下解除されてしまっている場合がある。
の通りで、alt+Xのボタンをすぐに離すと必ずaltだけ残り続ける状態でした。
・#InstallKeybdHook→効果なし
・SendInput→効果なし
・SetKeyDelay, 0→効果なし でした。
また、windowsキーとのコンビネーションの割当の際もwinキーが押しっぱなしになってしまう事があるのですが、そちらは逆にSendPlayでは解決されず普通にSendの方が良いようです
AHKとても難しいですね、、一応少しだけ解決したので書いておきます
2021/08/26(木) 15:49:26.22ID:XXFTp4YY0
その現象って一部のUSBキーボードでなりやすいんだよなあ
PS/2と違って送信方法が単純じゃないから
PS/2と違って送信方法が単純じゃないから
2021/08/26(木) 15:57:35.17ID:XBrrwwWG0
PS/2キーボードでもなるぞ
要は「一時的に修飾キー押下を解除して、発効後に押下状態を再度設定する機構」と指離すタイミングの問題なので
要は「一時的に修飾キー押下を解除して、発効後に押下状態を再度設定する機構」と指離すタイミングの問題なので
2021/08/26(木) 16:29:48.34ID:XXFTp4YY0
少なくともうちでは同じスクリプトでPS/2だとならない
まあ全部が全部同じ理由じゃないんだろうけど
まあ全部が全部同じ理由じゃないんだろうけど
2021/08/29(日) 17:29:18.26ID:5MF1Oa7A0
最終的にctrl shift end のキーを出力させたいです。
endキーはF13 & M でバインドしてます。なので、実際には
ctrl shift F13 M
と打ったときに上の通りに出力させる記述はなに?となります。
かれこれ、色々2週間試してギブアップ。
3つ同時はよく掲載されているからいけますけど4つ同時押しがうまくいきません。
すごいひとおねがいします。
endキーはF13 & M でバインドしてます。なので、実際には
ctrl shift F13 M
と打ったときに上の通りに出力させる記述はなに?となります。
かれこれ、色々2週間試してギブアップ。
3つ同時はよく掲載されているからいけますけど4つ同時押しがうまくいきません。
すごいひとおねがいします。
2021/08/29(日) 17:53:11.06ID:XgfVZOXH0
>>184
なんか説明が下手過ぎて分かりにくいんだがとりあえず
>endキーはF13 & M でバインドしてます。
ってことなので
F13 & M::Send,{Blind}{End}
にすればctrl shift F13 M を押した時は ctrl shift end のキーを出力になるんじゃね
なんか説明が下手過ぎて分かりにくいんだがとりあえず
>endキーはF13 & M でバインドしてます。
ってことなので
F13 & M::Send,{Blind}{End}
にすればctrl shift F13 M を押した時は ctrl shift end のキーを出力になるんじゃね
2021/08/29(日) 19:11:11.31ID:5MF1Oa7A0
>>185
わかりにくくてすみません。
Excelの ctrl shift end ショートカットを使用したいのですけどもうまくいきません。
おしえていただいた記述ではうまくいきませんでした。
End = F13 & M::Send, {Blind}{End}
この記述は既に設定済みとしています。
ctrl shift ここで F13 & Mとしてもうまく行かなくて。
getkeystate 関数だと3つ同時押ししか成功しないので、詰まりました。
なにかヒントでもいただけますか?
わかりにくくてすみません。
Excelの ctrl shift end ショートカットを使用したいのですけどもうまくいきません。
おしえていただいた記述ではうまくいきませんでした。
End = F13 & M::Send, {Blind}{End}
この記述は既に設定済みとしています。
ctrl shift ここで F13 & Mとしてもうまく行かなくて。
getkeystate 関数だと3つ同時押ししか成功しないので、詰まりました。
なにかヒントでもいただけますか?
2021/08/29(日) 19:15:24.36ID:XgfVZOXH0
>>186
End = ってなんだよ?
お前が書いてるスクリプトをそのまま貼れ
本当に{Blind}が入ってるならctrl shift の修飾キーは押したまま出力される
だからまず>endキーはF13 & M でバインドしてます。
この部分をお前がどうやって書いてるのか改変せずにコピペしろ
End = ってなんだよ?
お前が書いてるスクリプトをそのまま貼れ
本当に{Blind}が入ってるならctrl shift の修飾キーは押したまま出力される
だからまず>endキーはF13 & M でバインドしてます。
この部分をお前がどうやって書いてるのか改変せずにコピペしろ
2021/08/29(日) 20:45:32.97ID:rWCSK8gT0
本筋と外れるけどF13はどうやって出力しているの?
ChangekeyなどでCapsなどを割り当ててる場合
Nキーロールオーバー非対応のキーボードの同時押し制限で
引っかかってる可能性もあるのでは?
ChangekeyなどでCapsなどを割り当ててる場合
Nキーロールオーバー非対応のキーボードの同時押し制限で
引っかかってる可能性もあるのでは?
2021/08/29(日) 20:57:04.15ID:XgfVZOXH0
2021/08/29(日) 20:58:09.53ID:XgfVZOXH0
書き間違い訂正
正) G600でサイドボタンにF13割り当ててるので
正) G600でサイドボタンにF13割り当ててるので
2021/08/29(日) 21:42:09.52ID:5MF1Oa7A0
>>187
>>188
めちゃ怒らせてしまい、申し訳ありません。
F13キーは無変換キーへchangekeyを使用して割り当ててます。
End = というのは End を出力させるスクリプトとして F13 & M::Send,{Blind}{End}として出力させていますという意味でした。
同じように Homeを F13 & ,::Send,{Blind}{Home}
としており、Ctrl F13 N キーを押すとExcelのショートカット Ctrl Homeとして機能します。
上は同時押し3つで機能していますが、これにShiftを加えたような、Ctrl Shift F13 Mだと Ctrl Shift End のようになりません。ログを見るとEndが出力されていないことになっています。
手抜き表現で伝えきれずすみませんでした。
>>188
めちゃ怒らせてしまい、申し訳ありません。
F13キーは無変換キーへchangekeyを使用して割り当ててます。
End = というのは End を出力させるスクリプトとして F13 & M::Send,{Blind}{End}として出力させていますという意味でした。
同じように Homeを F13 & ,::Send,{Blind}{Home}
としており、Ctrl F13 N キーを押すとExcelのショートカット Ctrl Homeとして機能します。
上は同時押し3つで機能していますが、これにShiftを加えたような、Ctrl Shift F13 Mだと Ctrl Shift End のようになりません。ログを見るとEndが出力されていないことになっています。
手抜き表現で伝えきれずすみませんでした。
2021/08/29(日) 21:45:11.68ID:5MF1Oa7A0
訂正。
F13 & ,::{Blind}{Home} は
F13 & N::{Blind}{Home} の記述ミスです。
F13 & ,::{Blind}{Home} は
F13 & N::{Blind}{Home} の記述ミスです。
2021/08/29(日) 21:56:11.06ID:XgfVZOXH0
2021/08/29(日) 22:07:38.00ID:rWCSK8gT0
3キーまで認識して4キーが無理ってことはハードウェア的な同時押し制限っぽくない?
普通は修飾キーはNキーにカウントされないはずだけど おまキーボードなのかも知れんし
一回無変換をckengekeyで元に戻してahkの常駐切った状態で
この辺のツールで確認してみては
https://www.4gamer.net/games/026/G002688/20120302062/
普通は修飾キーはNキーにカウントされないはずだけど おまキーボードなのかも知れんし
一回無変換をckengekeyで元に戻してahkの常駐切った状態で
この辺のツールで確認してみては
https://www.4gamer.net/games/026/G002688/20120302062/
195名無しさん@お腹いっぱい。
2021/08/29(日) 22:19:16.41ID:6pp9aua90 キーボードのキー同時押し数には制限がある
どのキーが同時押しできるかはハードウェアにより異なる
AHKの key history を開いて、目的のキーを同時押しして
ちゃんとキーコードが発生しているか確認するといいよ
(別のプログラムを使わなくても確認できるし、
F13などを使っている場合でも確認できる.)
どのキーが同時押しできるかはハードウェアにより異なる
AHKの key history を開いて、目的のキーを同時押しして
ちゃんとキーコードが発生しているか確認するといいよ
(別のプログラムを使わなくても確認できるし、
F13などを使っている場合でも確認できる.)
2021/08/29(日) 22:31:43.54ID:i07IKwxQ0
1.1.33.10
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相が国会で突如「秘書のがんステージ4」を公表にネット騒然…“招致拒否の布石では”と憶測も ★3 [少考さん★]
- 米Anthropic「AIの自己進化が始まった、世界はAI開発を一旦止めるべき」 ★4 [煮卵★]
- 石破氏、日本国旗損壊罪に疑問 「刑罰あまり正しくない」 [蚤の市★]
- 『バ先』『タイパ』『カプヌ』『りくりゅう』…昭和生まれが「イラっとする」略語は?若者世代の“謎言葉”に大混乱 [muffin★]
- 「入れ歯を飲み込んだ」と訴えた女性が5日後死亡…解剖で判明した“見落とされた原因” [煮卵★]
- 【野球】阪神・森下が球審への暴言でプロ初退場 [9999★]
- 【高市悲報】「白黒かっぱえびせん」買ってきた☺ [616817505]
- 【叙述トリック】高市早苗は「私の秘書がステージ4の膵臓がん」とは言っていても「木下秘書が末期がん」とは一言も言ってないっぽい [784319933]
- 天音かなたの墓にションベンかけるお🏡
- 【高市朗報】木下秘書、自殺へ!大好きな早苗のためなら喜んで死ねるはず! [261472595]
- 55歳おじいちゃんの晩飯がこちら
- 😅🏡🪐😅🪐🏡😅