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
AutoHotkey スレッド part36
2026/06/05(金) 16:48:32.21ID:/xDt0EEP0
レスを投稿する
ニュース
- 【W杯】塩貝健人、ブラジル巡る発言の意図を説明「ネイマールが点を取っていたのは前のことで、今じゃないだろと言いたかっただけ」★2 [Anonymous★]
- 【W杯】ブラジルDF、塩貝に耳打ちした後、耳を触る ブラジルで「小僧」とあしらう意味 ブラジルFWは「ちっぽけな奴め!」★3 [ネギうどん★]
- 【W杯】ブラジルに敗れた森保監督「これからも世界一を目指して日本のために頑張りたい」★3 [ネギうどん★]
- 人生100年時代、何歳まで働く? 65歳以降も「働きたい」が7割超 [煮卵★]
- セルジオ越後「5年前より力が落ちた。森保采配も失敗。続投の声が出る謎。よくやったと言うのは簡単。協会や国で考え直すタイミング」 ★2 [digitec★]
- 【W杯】痛恨のボールロスト 田中碧は涙止まらず 取材エリアでも号泣 ショック隠せずスタッフに付き添われコメントなく会場を後に★4 [木村カエレφ★]
- 『ムーンライト』→何を思い浮かべた? [153490809]
- ●んなんなナイトフィーバー🍬
- ココアちゃん♡今日もお疲れー♡これから帰るよ♡サッカー盛り上がって寝不足だから今日は一緒に早く寝ようね♡
- 🏡👊😅👊ダブパン帝国👊😅👊🏡
- カワラボの中で
- フランスが革命間近か、エアコン環境完備の上級についに庶民が怒り始める [469534301]