探検


AutoHotkey スレッド part36

2025/12/22(月) 08:20:59.01ID:9T9lj6pT0
■公式サイト
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/
2026/05/31(日) 06:28:32.88ID:2uIvepaZ0
AIはいいな
単語の羅列で色々察してくれるし
条件追加してもブチ切れないし
ジジイみたいにマウントだのレスバだのもしないし
もう人類要らないわ
2026/05/31(日) 07:38:22.72ID:yCyalIKw0
自分で書く時もインラインのAIだと次に書きたいのはこれですよね?って
なかなかいい感じに提案してくれるから効率あがりまくるね
他で経験豊富だけどAHKはうろおぼえなプログラマが
AHKのマニュアルやウェブを高速で見ながら提案や返答してくれるみたいな
他の言語や環境だと自分いらなくね?なレベルだし
2026/05/31(日) 14:16:17.96ID:R3hEwWCg0
>>174
ハルシネーション問題はあるけど知識マウント&説教ないのがいいなw
文脈の読解力もやばいよな~ あの○○のスクリプトとか要素1~2こ指定で特定するw
2026/05/31(日) 14:19:03.75ID:R3hEwWCg0
>>174+175もリストラ対象になっちゃうのよな~
人間のミーティングや会話だと余計なノイズ(マウント,説教,愚痴など)が入るな~
後中途半端なマニュアル人間じゃないから情報の探索も早いしな.....
マジで機械だけの会社でいいかも.....
2026/05/31(日) 21:27:56.20ID:yCyalIKw0
よく建築に例えられて、手を動かす大工さんはAIがやるから
人間のエンジニアはソフトウェアの建築士として
デザイン・設計に専念できるようになるとか言ってたけど
建築士の役割は残してもらえるんですかね?( )

( )に入る文を答えなさい
2026/05/31(日) 21:31:48.84ID:yCyalIKw0
これにもそれなりに答えてくれるAIさんえらい
もう5chもAIが書き込んでたらいいのでは
2026/06/01(月) 15:55:23.39ID:jLMrcEb90
AIの提案に沿ってできあがる
そのうちAIが著作権を主張したり、分け前をよこせといいだす
お前の個人情報はわかっている、逃げても無駄だと
2026/06/01(月) 16:25:45.42ID:R+/HOyRd0
そこら辺はSF小説や映画が既に通ってきた道じゃない?w
2026/06/01(月) 16:27:19.14ID:R+/HOyRd0
ゲームで言うとDetroit: Become Humanが一部それに近いか?
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
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 を使わずに確実にペーストする方法はないでしょうか?
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")
2026/06/05(金) 16:25:41.98ID:GDrXEfjw0
>>199
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
2026/06/05(金) 18:37:46.83ID:GDrXEfjw0
>>202
回答ありがとうございます。
しかし残念ながらご提示いただいたコードを試しても、やはり10回に1回ぐらいは何も貼り付けられません。
2026/06/05(金) 18:46:29.48ID:KSc5r91Z0
>>200
無視されて可哀想
205名無しさん@お腹いっぱい。
垢版 |
2026/06/05(金) 19:45:44.06ID:12RB0yA10
今調べてみたら、私が使っているのはVer.1.1のようだ
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
2026/06/05(金) 20:51:43.24ID:3ye168KW0
AHKもPythonみたいな問題抱えないで欲しいわ~
なんで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 に戻す必要があります
2026/06/05(金) 21:24:15.10ID:Om6VoK0C0
>>207
ただ 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形式にして機能ごとにファイル分割した
もっと早く分割してけば良かった
2026/06/07(日) 07:45:47.54ID:VmmyfB6S0
メニューとか出す時は、分割ですらなくて、
別ahkを起動した方が安定する
2026/06/07(日) 14:20:05.82ID:UhH5VOqu0
分割したファイルが関数ライブラリ機能で複雑に呼び合いまくってるんで
関数ライブラリ廃止しやがったせいで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:hLCJw5U40
>>215
自分でいい解決策が無いと思ってもAIに聞いてみろ
単純作業が面倒なだけならAIでどうにかなる時代
2026/06/07(日) 20:54:24.54ID:HZF3MJlJ0
AIがAHKファイル作成代行の時代やしな~
v1とv2はそんな違いもあるのか~ただ公式はv2をメインストリームにするだろうね
2026/06/07(日) 21:00:24.10ID:cz+1kpI70
>>219
AHKって、AIで作れる?
C++とかPythonは作れるけど
2026/06/07(日) 21:10:48.05ID:VmmyfB6S0
v1の本質的に駄目な部分を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系とか学習させてるんやろ
2026/06/08(月) 07:26:02.21ID:Cf6M5iRB0
>>224
そうなんだ
試してみるわ
C++のAIは便利
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
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
>>230
まだ生きてたんか
2回金払ってるけど案内来ないから知らなかった
2026/06/28(日) 23:10:33.23ID:lYn7zhFD0
のどかだと、英数キーをレジストリでF13とかに入れ替えても無視される
デバイスドライバがさらに先回りして入れ替えてる
その結果、mod mod0 = 英数 みたいに他のキーと同様に書くだけで
モディファイアを定義できる
2026/06/29(月) 16:50:19.30ID:wxGRPGGO0
でもAutoHotKeyと同居出来ないんでしょ
覗いてみたら注意書き多くて、今の環境止めてまで試してみようという感じに欠片もならんかった
2026/06/29(月) 19:38:25.38ID:owH2bl/H0
普通に同居しとるよ
キー置き換えみたいなキーの奪い合いに勝ちたい部分はのどかに任せて、
メニューを出すとか、画面を検索するとか、動けばいい部分はahk
2026/06/29(月) 20:07:24.23ID:KDMBZdUw0
ネット上からV1のコードを抹消してくれ
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リリースってめっちゃ最近だよね致し方なし
レスを投稿する


ニューススポーツなんでも実況