■公式サイト
https://www.autohotkey.com/
■解説等
・v1.1
AutoHotkey Wiki
http://ahkwiki.net/Top
・v2
クイックリファレンス|AutoHotkey v2
https://ahkscript.github.io/ja/docs/v2/
v1.1からの変更|AutoHotkey v2
https://ahkscript.github.io/ja/docs/v2/v2-changes.htm
■前スレ
AutoHotkey スレッド part35
https://egg.5ch.net/test/read.cgi/software/1733887021/
AutoHotkey スレッド part36
2025/12/22(月) 08:20:59.01ID:9T9lj6pT0
2026/06/01(月) 19:17:25.22ID:7LilI/2T0
アメリカかどっかではAI作成物に著作権はないって判決が出てたはず
日本は後進国だからどうなるか
日本は後進国だからどうなるか
2026/06/01(月) 20:07:21.08ID:R+/HOyRd0
アメリカは州ごとに法律違うからあんま参考にするなw
2026/06/01(月) 21:05:02.85ID:wnob5D0T0
のどかのデバイスドライバ対応版は出なかったな
2026/06/02(火) 01:24:45.84ID:x1l0d2uq0
無理やりゴミレス書き込まなく絵いいよ
2026/06/02(火) 05:50:44.71ID:3mODjsO50
どういう意味?
2026/06/03(水) 22:41:00.96ID:2VptsG6M0
このスレまだ稼働してる?最近AHK触り始めたんだけどコマンドがループしますわ~
ほぼAIに書いて貰った奴だけどねw
ほぼAIに書いて貰った奴だけどねw
2026/06/03(水) 23:06:53.98ID:oIw9d1nR0
最小限の再現コード書いてくれ、何のことだかさっぱりわからん
2026/06/03(水) 23:13:15.47ID:pJwjDnLo0
自分には解析すらできないクソだって自己紹介でしかないぞ>>188
2026/06/03(水) 23:15:27.56ID:AzKzMbd30
いや~ほんわかレスと煽りレスこれが5ch w
一応原因行は特定できてますけどね
一応原因行は特定できてますけどね
2026/06/04(木) 04:51:06.44ID:0uzKChcX0
何も詳細を書く気がないなら来るなよ
2026/06/04(木) 06:50:15.43ID:XH//+0Wi0
気持ち悪い人しかおらんな
2026/06/04(木) 07:20:30.49ID:YKOaOBOe0
AutoHotkeyは良いツールなんだけどね
2026/06/04(木) 10:35:59.57ID:261qgcSP0
結局使う奴次第なんよ
2026/06/04(木) 15:21:19.82ID:Z42QvdZI0
.mdにAHK公式ドキュメントのURLを書いて「これを毎回必ず参照しろ」と入れておけば、無限ループみたいな凡ミスはしなくなるよ。
197名無しさん@お腹いっぱい。
2026/06/04(木) 15:49:45.79ID:/8Va5zXO0 使い方とか安全性知らんけどai用スキルあるよな
どの程度使えるんだろうな
どの程度使えるんだろうな
2026/06/05(金) 13:31:53.32ID:GDrXEfjw0
メモ帳用にctrl+V の貼り付け時に、クリップボードの改行コードを LF→CR+LF に変更する以下のスクリプトを書きました。
#UseHook
^v::
;改行コードLFをCR+LF に置換
newClip := RegExReplace(Clipboard, "(?<!\r)\n", "`r`n")
clipboard =
Clipboard := newClip
ClipWait, 3
if (Clipboard == "")
{
msgbox, クリップボードが空です
}
send, ^v
return
上記コードで ctrl+V を押すと、数十回に1回ぐらい、何も貼り付けられません。
if (Clipboard == "") を書いているので、クリップボードは空ではないはずです。
AIに聞いて以下を試しました。
・send, ^v の代わりに SendMessage, 0x302, 0, 0, Edit1, A を使う → 変わらずたまにペースト失敗
・send, ^v の前に sleep,100 を入れる → ペースト失敗しなくなった
このように、 sleep,100 を入れると失敗しなくなるのですが、連続でペーストするのが遅くなってしまいます。
sleep を使わずに確実にペーストする方法はないでしょうか?
#UseHook
^v::
;改行コードLFをCR+LF に置換
newClip := RegExReplace(Clipboard, "(?<!\r)\n", "`r`n")
clipboard =
Clipboard := newClip
ClipWait, 3
if (Clipboard == "")
{
msgbox, クリップボードが空です
}
send, ^v
return
上記コードで ctrl+V を押すと、数十回に1回ぐらい、何も貼り付けられません。
if (Clipboard == "") を書いているので、クリップボードは空ではないはずです。
AIに聞いて以下を試しました。
・send, ^v の代わりに SendMessage, 0x302, 0, 0, Edit1, A を使う → 変わらずたまにペースト失敗
・send, ^v の前に sleep,100 を入れる → ペースト失敗しなくなった
このように、 sleep,100 を入れると失敗しなくなるのですが、連続でペーストするのが遅くなってしまいます。
sleep を使わずに確実にペーストする方法はないでしょうか?
2026/06/05(金) 14:02:43.44ID:fR7tnSxN0
その内容のまま ChatGPT とかに貼り付ければ色々回答してくれるよ
2026/06/05(金) 14:04:20.05ID:eCjhadr00
v1だけどこんな感じの使ってる
MyClipWait(Action := 0) {
Action ? Send % Action
ClipBoard := "1E5z2Rij"
Timeout := A_TickCount + 10000
loop
{
if ClipBoard != "1E5z2Rij"
return ClipBoard
if A_TickCount > Timeout
throw {What:"Timeout", Func:A_ThisFunc, ClipBoard:ClipBoard}
Sleep,1
}
}
sample
s := MyClipWait("^c")
MyClipWait(Action := 0) {
Action ? Send % Action
ClipBoard := "1E5z2Rij"
Timeout := A_TickCount + 10000
loop
{
if ClipBoard != "1E5z2Rij"
return ClipBoard
if A_TickCount > Timeout
throw {What:"Timeout", Func:A_ThisFunc, ClipBoard:ClipBoard}
Sleep,1
}
}
sample
s := MyClipWait("^c")
2026/06/05(金) 16:25:41.98ID:GDrXEfjw0
>>199
AIに聞いても sleep を使う方法以外はやはり、ペーストに時々失敗します
AIに聞いても sleep を使う方法以外はやはり、ペーストに時々失敗します
2026/06/05(金) 16:48:32.21ID:/xDt0EEP0
Sleep, 100 を以下に置き換えると、確実性を保ったまま遅延を最短にできるかもしれません
while DllCall("user32\GetOpenClipboardWindow", "Ptr") { ; クリップボードにアクセスしているプログラムがある場合、そのハンドルを返す(なければ0)
Sleep, 10
}
ただスクリプトを見る限りでは、根本的な勘違いがあると思われます
ClipWait は他のアプリケーションから ^c などでクリップボードにコピーする際に使用するものです
Clipboard := newClip のようなスクリプト内で直接クリップボードに文字列等を代入する場合は
AHKが内部的にシステムと同期を取る仕組みを備えているため、基本的に ClipWait を使用する必要はありません
そして、この件で問題となっているのは連続動作によって、メモ帳が貼り付け処理を終える前に次の処理が来て
スクリプトがクリップボードを初期化したりしている絶妙な合間に、メモ帳が貼り付け処理をしてしまうためだと思われます
したがって、Sleep の位置は Send, ^v の前ではなく後に置くのが正しいと思われます(というかこの件に関わらず^v直後のSleepはほぼ必須)
上記を踏まえ、以下のようなコードでおそらく要求を満たす動作をするはずです
$^v::
Clipboard := RegExReplace(Clipboard, "(?<!\r)\n", "`r`n")
Send, ^v
loop {
Sleep, 10
} Until !DllCall("user32\GetOpenClipboardWindow", "Ptr")
Return
while DllCall("user32\GetOpenClipboardWindow", "Ptr") { ; クリップボードにアクセスしているプログラムがある場合、そのハンドルを返す(なければ0)
Sleep, 10
}
ただスクリプトを見る限りでは、根本的な勘違いがあると思われます
ClipWait は他のアプリケーションから ^c などでクリップボードにコピーする際に使用するものです
Clipboard := newClip のようなスクリプト内で直接クリップボードに文字列等を代入する場合は
AHKが内部的にシステムと同期を取る仕組みを備えているため、基本的に ClipWait を使用する必要はありません
そして、この件で問題となっているのは連続動作によって、メモ帳が貼り付け処理を終える前に次の処理が来て
スクリプトがクリップボードを初期化したりしている絶妙な合間に、メモ帳が貼り付け処理をしてしまうためだと思われます
したがって、Sleep の位置は Send, ^v の前ではなく後に置くのが正しいと思われます(というかこの件に関わらず^v直後のSleepはほぼ必須)
上記を踏まえ、以下のようなコードでおそらく要求を満たす動作をするはずです
$^v::
Clipboard := RegExReplace(Clipboard, "(?<!\r)\n", "`r`n")
Send, ^v
loop {
Sleep, 10
} Until !DllCall("user32\GetOpenClipboardWindow", "Ptr")
Return
2026/06/05(金) 18:37:46.83ID:GDrXEfjw0
2026/06/05(金) 18:46:29.48ID:KSc5r91Z0
>>200
無視されて可哀想
無視されて可哀想
205名無しさん@お腹いっぱい。
2026/06/05(金) 19:45:44.06ID:12RB0yA10 今調べてみたら、私が使っているのはVer.1.1のようだ
2.にした方がいいかな? いろいろ書きなおすのは面倒だけど
2.にした方がいいかな? いろいろ書きなおすのは面倒だけど
2026/06/05(金) 20:33:34.77ID:Om6VoK0C0
>>205
v1、v2 と両方併存インストールできるし、スクリプトで v1、v2 用の識別は出来るから、
出来る部分から書き直していったら?
#Requires - Syntax & Usage | AutoHotkey v1
https://www.autohotkey.com/docs/v1/lib/_Requires.htm
#Requires - Syntax & Usage | AutoHotkey v2
https://www.autohotkey.com/docs/v2/lib/_Requires.htm
v1、v2 と両方併存インストールできるし、スクリプトで v1、v2 用の識別は出来るから、
出来る部分から書き直していったら?
#Requires - Syntax & Usage | AutoHotkey v1
https://www.autohotkey.com/docs/v1/lib/_Requires.htm
#Requires - Syntax & Usage | AutoHotkey v2
https://www.autohotkey.com/docs/v2/lib/_Requires.htm
2026/06/05(金) 20:51:43.24ID:3ye168KW0
AHKもPythonみたいな問題抱えないで欲しいわ~
なんで2つの系統に分岐するのかw
なんで2つの系統に分岐するのかw
2026/06/05(金) 21:05:22.49ID:/xDt0EEP0
>>203
少なくとも私の環境では198のコードでもそういった問題は発生しないので環境依存である可能性が高いです
・他のスクリプトと併用している場合、すべて停止してスクリプトを最小の構成で試してみる
・なんらかのクリップボード拡張(Windows純正を含む)を利用している場合止めてみる
原因を突き止めるならこういったことを地道にやっていくしかないです
あとは、Send, ^v の前に Sleep, 100 で問題が発生しなくなるなら
とりあえず Sleep, 15 から15刻み(Sleepの実測は15.625刻みなので)で試して最短遅延で妥協するとかですね
特殊な事例として、Win11のタブ付きのメモ帳は SendInput と相性が悪い(メモ帳側のバグがある)ので
v1のデフォルトは Event ですが、変更している場合 Event に戻す必要があります
少なくとも私の環境では198のコードでもそういった問題は発生しないので環境依存である可能性が高いです
・他のスクリプトと併用している場合、すべて停止してスクリプトを最小の構成で試してみる
・なんらかのクリップボード拡張(Windows純正を含む)を利用している場合止めてみる
原因を突き止めるならこういったことを地道にやっていくしかないです
あとは、Send, ^v の前に Sleep, 100 で問題が発生しなくなるなら
とりあえず Sleep, 15 から15刻み(Sleepの実測は15.625刻みなので)で試して最短遅延で妥協するとかですね
特殊な事例として、Win11のタブ付きのメモ帳は SendInput と相性が悪い(メモ帳側のバグがある)ので
v1のデフォルトは Event ですが、変更している場合 Event に戻す必要があります
2026/06/05(金) 21:24:15.10ID:Om6VoK0C0
>>207
ただ v1 は公式に "deprecated" となってるから、新しいスクリプトを書くなら v2 の方がエエと思うで。
ただ v1 は公式に "deprecated" となってるから、新しいスクリプトを書くなら v2 の方がエエと思うで。
2026/06/05(金) 21:27:16.38ID:yAgaTcNq0
pythonも分岐しとらんやろ
2026/06/05(金) 22:04:38.05ID:3ye168KW0
分岐というか分離か?1つのver系統で使わせてほしいわー
2026/06/05(金) 23:24:48.44ID:qWtZ7hLH0
よく言われるモディファイア押しっぱなし病もAHK内で解決するし
アイデアが無い人はどんな言語でも無理でしょ
アイデアが無い人はどんな言語でも無理でしょ
2026/06/07(日) 06:34:10.01ID:wmFno/uV0
1ファイル運用で2000行位と長すぎになってきたから
include形式にして機能ごとにファイル分割した
もっと早く分割してけば良かった
include形式にして機能ごとにファイル分割した
もっと早く分割してけば良かった
2026/06/07(日) 07:45:47.54ID:VmmyfB6S0
メニューとか出す時は、分割ですらなくて、
別ahkを起動した方が安定する
別ahkを起動した方が安定する
2026/06/07(日) 14:20:05.82ID:UhH5VOqu0
分割したファイルが関数ライブラリ機能で複雑に呼び合いまくってるんで
関数ライブラリ廃止しやがったせいでv2移行は一生無理
関数ライブラリ廃止しやがったせいでv2移行は一生無理
2026/06/07(日) 14:33:16.41ID:VmmyfB6S0
Includeするだけやん
2026/06/07(日) 15:44:08.10ID:Uvsxwy520
特にv2移行する気もないしIME.ahkとかそのまま使えるのかすら興味ない
218名無しさん@お腹いっぱい。
2026/06/07(日) 16:19:21.75ID:hLCJw5U402026/06/07(日) 20:54:24.54ID:HZF3MJlJ0
AIがAHKファイル作成代行の時代やしな~
v1とv2はそんな違いもあるのか~ただ公式はv2をメインストリームにするだろうね
v1とv2はそんな違いもあるのか~ただ公式はv2をメインストリームにするだろうね
2026/06/07(日) 21:00:24.10ID:cz+1kpI70
2026/06/07(日) 21:10:48.05ID:VmmyfB6S0
v1の本質的に駄目な部分をv2も受け継いでるので、
機械的な置き換えでv2化できてしまう
つまり、わざわざv2にするメリットは無い
機械的な置き換えでv2化できてしまう
つまり、わざわざv2にするメリットは無い
2026/06/08(月) 00:45:18.52ID:d/HB0aS00
そういうのAIとやってね
どんなゴミネタでも無限にレスバしてくれるよ
どんなゴミネタでも無限にレスバしてくれるよ
2026/06/08(月) 00:52:13.31ID:cv5gR2nM0
繰り返しになったり打ち切られたりするよ
2026/06/08(月) 01:44:05.39ID:/VzdjPBk0
>>220
普通に対応してるぞ?内部の言語にC系とか学習させてるんやろ
普通に対応してるぞ?内部の言語にC系とか学習させてるんやろ
2026/06/08(月) 07:26:02.21ID:Cf6M5iRB0
226名無しさん@お腹いっぱい。
2026/06/08(月) 20:05:01.04ID:lQRI/SCo0 今のAIに書けない言語なんか殆ど無いぞw
2026/06/19(金) 23:04:26.09ID:V8LfCaYr0
のどかはx64は通ってるのにx86で難航しているらしい
そんなもん要らんからさっさと公開して欲しい
そんなもん要らんからさっさと公開して欲しい
2026/06/22(月) 06:29:12.26ID:ANA3kfZO0
また変態度が上がってしまった
"E:\Ero\Movie".MustIsDir.GetItems({r:1, d:0}).MustNotEmpty.DbgLog.Shuffle.1.Open
"E:\Ero\Movie".MustIsDir.GetItems({r:1, d:0}).MustNotEmpty.DbgLog.Shuffle.1.Open
2026/06/23(火) 18:09:44.16ID:UUnJG1Hb0
E:\Ero\Movie 配下のエロ動画をランダムに選択するスクリプト 乙
2026/06/28(日) 20:32:54.88ID:lYn7zhFD0
のどか 4.31リリース
やっぱりアップグレード代がかかるので粘って正解
やっぱりアップグレード代がかかるので粘って正解
2026/06/28(日) 23:01:00.78ID:y/eIz+Tg0
2026/06/28(日) 23:10:33.23ID:lYn7zhFD0
のどかだと、英数キーをレジストリでF13とかに入れ替えても無視される
デバイスドライバがさらに先回りして入れ替えてる
その結果、mod mod0 = 英数 みたいに他のキーと同様に書くだけで
モディファイアを定義できる
デバイスドライバがさらに先回りして入れ替えてる
その結果、mod mod0 = 英数 みたいに他のキーと同様に書くだけで
モディファイアを定義できる
2026/06/29(月) 16:50:19.30ID:wxGRPGGO0
でもAutoHotKeyと同居出来ないんでしょ
覗いてみたら注意書き多くて、今の環境止めてまで試してみようという感じに欠片もならんかった
覗いてみたら注意書き多くて、今の環境止めてまで試してみようという感じに欠片もならんかった
2026/06/29(月) 19:38:25.38ID:owH2bl/H0
普通に同居しとるよ
キー置き換えみたいなキーの奪い合いに勝ちたい部分はのどかに任せて、
メニューを出すとか、画面を検索するとか、動けばいい部分はahk
キー置き換えみたいなキーの奪い合いに勝ちたい部分はのどかに任せて、
メニューを出すとか、画面を検索するとか、動けばいい部分はahk
2026/06/29(月) 20:07:24.23ID:KDMBZdUw0
ネット上からV1のコードを抹消してくれ
AIがV1とV2をごちゃまぜに書くから
AIがV1とV2をごちゃまぜに書くから
2026/06/29(月) 20:16:47.09ID:QZT0bGdB0
V2限定でと書いてもちょいちょい混ざるだよな
2026/06/29(月) 22:43:52.49ID:YmDGrArC0
NSISとかああいうのも苦手だから自分でエラー内容から資料を探して渡すほうが早えわ
2026/06/30(火) 00:19:52.12ID:jzm7RmJp0
のどかとかどうでもいいから専用スレ立てろよ
239名無しさん@お腹いっぱい。
2026/06/30(火) 23:53:22.64ID:gWvemdUF0 v1がノイズなのはわかるけどv2リリースってめっちゃ最近だよね致し方なし
2026/07/01(水) 07:08:51.18ID:TvSGcusT0
>>239
これを「めっちゃ最近」と捉えるかどうかは……
Changes & New Features | AutoHotkey v2
https://www.autohotkey.com/docs/v2/ChangeLog.htm#v2.0.1
> 2.0.1 - January 1, 2023
これを「めっちゃ最近」と捉えるかどうかは……
Changes & New Features | AutoHotkey v2
https://www.autohotkey.com/docs/v2/ChangeLog.htm#v2.0.1
> 2.0.1 - January 1, 2023
2026/07/01(水) 07:37:17.19ID:1bfPyvvB0
v1を淘汰する力がまったくないv2が悪い
2026/07/01(水) 07:43:51.98ID:Q4YRftfF0
あれはせいぜいv1'
2026/07/01(水) 08:50:54.08ID:y5IELvaW0
ここはなぜv1擁護が多いんだ?意味不明
Geminiだと「autohotkey v2」を入れるだけでv1なんか1ミリも混ざらず
神コード量産してくれる
Geminiだと「autohotkey v2」を入れるだけでv1なんか1ミリも混ざらず
神コード量産してくれる
2026/07/01(水) 12:14:22.04ID:PLvwl1nd0
>>243
作った神コード見たい
作った神コード見たい
2026/07/01(水) 12:29:06.71ID:hDlX6L7k0
俺も純粋に見てみたいよ
神でなくていいから
神でなくていいから
2026/07/01(水) 13:03:35.46ID:1bfPyvvB0
AIが完璧に書いてくれるならそれこそv1でも何も困らないじゃん
247>>246
2026/07/01(水) 15:59:44.89ID:y5IELvaW0 絶対に外せないDescolada氏のUIA、WinEventとか
主要なライブラリがメンテナンスされてないじゃん
UIAはv1用もあるが主力じゃないでしょ
それにv2じゃなきゃムリな機能、記法もある
コードはイベント検知のリアルタイムUIAインスタンス更新系
ここに貼るには長すぎる
主要なライブラリがメンテナンスされてないじゃん
UIAはv1用もあるが主力じゃないでしょ
それにv2じゃなきゃムリな機能、記法もある
コードはイベント検知のリアルタイムUIAインスタンス更新系
ここに貼るには長すぎる
2026/07/01(水) 16:52:36.78ID:jx3TNHkA0
2026/07/01(水) 17:03:16.67ID:jx3TNHkA0
毎回じゃなくてたまに入れてくるのと
高確率でv1ではこうだったのでといって注意してくることもある
高確率でv1ではこうだったのでといって注意してくることもある
2026/07/01(水) 17:32:34.78ID:y5IELvaW0
>>248-249
すまん!1ミリもというのは語弊があった
確かにたまにv1の…とか言うときはある
でも自力で解決するのと比べりゃ雲泥の差
基本100%任せることはせずコードを貼って精査してもらうという
利用なのでv1ノイズの遭遇率が低いのかもしれん
すまん!1ミリもというのは語弊があった
確かにたまにv1の…とか言うときはある
でも自力で解決するのと比べりゃ雲泥の差
基本100%任せることはせずコードを貼って精査してもらうという
利用なのでv1ノイズの遭遇率が低いのかもしれん
レスを投稿する
ニュース
- 橋本愛(30)が号泣した佐藤二朗(57)の“爆弾ハラスメント”「彼女の楽屋に乗り込み…」「発端はボディタッチ」 ★4 [ひかり★]
- 橋本愛(30)が号泣した佐藤二朗(57)の“爆弾ハラスメント”「彼女の楽屋に乗り込み…」「発端はボディタッチ」 ★5 [ひかり★]
- 【文春】佐藤二朗が橋本愛に“問題行為”を起こしていた フジ調査では「深刻なハラスメント」認定…佐藤の事務所は「該当しない」と否定 [Ailuropoda melanoleuca★]
- 【W杯】鎌田大地「優勝を狙うにはサッカーが日本の“国技”にならないと」「日本は良くも悪くもいろんなスポーツに散っている」★4 [ネギうどん★]
- 【読売社説】皇室典範改正案 「旧宮家」へ皇統が移る恐れも ★2 [蚤の市★]
- 「27年なんて生ぬるい、死刑だろ」高校生転落死事件裁判に男が侵入…裁判員ら9人のうち1人が手足負傷と判明 旭川地裁 [少考さん★]
- 【地上波/DAZNほか】 FIFAワールドカップ2026 総合スレ★277【メキシコ/カナダ/アメリカ】
- とらせん 中止
- とらせん 7月
- こいせん祝勝会 全レス転載禁止
- はません
- 【MLB】アスレチックス vs ドジャース ★3
- 【速報】今年の夏、猛暑の日もあるが涼しくなる日もある予想 高市🍉 [399259198]
- 🏡👶😲🥹🖕
- 【高市大恐慌】ビットコイン暴落、ゴールド暴落、原油暴落 👈これ [757644362]
- 日本人MF田中碧、一夜明け「申し訳ない」「自分のせい」という言葉を繰り返す [903775116]
- 【画像】45歳独身、確定で狂う模様www ソースはこれ👉 [589647274]
- 姉「冷蔵庫にあるおいなりさん食べていい〜?」父さん「それは私のおいなりさんだ」