[過去ログ] AutoHotkey スレッド part28 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
559
(2): (ワッチョイ 6176-9BKS) 2020/11/06(金)21:48 ID:Cd90Lss80(2/3) AAS
>>556

検証用のスクリプトは用意していないので、わかりにくいかもしれませんが現状を話します。
何が関係しているかわかりませんから、念の為詳細に書きます。

AutoHotkey.exeでAutoHotkey.ahkを常駐させています。AutoHotkey.ahkにIncludeしているスクリプトがいくつかあり、
そのうち1つがキーボードでマウス操作をする、mouse.ahkです。
あるトリガーキーを押してから、再度そのキーを押すまで、キーの入力をwhile、if、GetKeyStateでループ、監視し続けます。
そこでカーソル移動用のキーを押すと、MouseMoveを発動します。発動間隔は監視間隔なので、20ミリ秒程度の設定になっています。

これとは別に、MouseGestureL.exe(AutoHotkey.exeを改名した別ファイル)も常駐させています。

そこで問題なのが、MouseGestureL.exeを終了させると、AutoHotkey.exe下のmouse.ahkによるマウスカーソルの移動速度が上がります。
省7
560: (ワッチョイ 6176-9BKS) 2020/11/06(金)21:48 ID:Cd90Lss80(3/3) AAS
>>557
>>558
561: (ワッチョイ 6558-t1Nk) 2020/11/06(金)22:02 ID:pYlpzeSL0(2/2) AAS
そもそもAutoHotkey.exeを改名とかやってることが特殊過ぎてな
意味あんのかそれって感じだし
まだコンパイルしてスクリプト自体を別exeにした方がいいんじゃねえの
562: (ワッチョイ d25a-t1Nk) 2020/11/06(金)22:14 ID:94t2tBdQ0(1) AAS
>>559
>そこで問題なのが、MouseGestureL.exeを終了させると、AutoHotkey.exe下のmouse.ahkによるマウスカーソルの移動速度が上がります。
MouseGestureL.exeも基本常駐じゃないの?終了即再起動することはあるけど終了したままにするケースがよく分からない
ま、何にしてもMouseGestureLが終了したらmouse.ahkの挙動が変わるのが嫌ということなら
MouseGestureLの方にmouse.ahkをIncludeさせればいいのでは?
それならMouseGestureL起動中しかmouse.ahkも動作しないわけだから
563: (ワッチョイ a9b1-xP1L) 2020/11/06(金)22:57 ID:zxpauMpi0(1) AAS
>>559
自分もMGL使ってるけど同じahkスクリプトで常駐させたいものはMGLのプラグインにして
監視するのには「while」などのループじゃなく「settimer」使ってるな

プラグインにするのは別に薦めないけど、試しに「while」の代わりに「settimer」で監視してみては?
564: (ワッチョイW 6558-RVv3) 2020/11/07(土)01:04 ID:lXeAUpve0(1) AAS
マルチスレッド云々以前の問題な気が
まず、マウスの挙動を制御するプロセスス2つ同時に動かすことで干渉しあってる可能性は?
コントロールの奪い合いになってたりしない?

あとmouse.ahkの回し方に問題あると思う
20msの高頻度でMousemoveし続けて必ず時間どうりに動かすのがまず無理だし
ループ監視するよりHotkey、#if あたりで2ストロークイベントにしたほうがスムースに動くんではないか
565: (スフッ Sdb2-RPT/) 2020/11/07(土)19:11 ID:/fD/cqh1d(1) AAS
画像リンク[jpg]:i.imgur.com
566
(1): (ワッチョイ b197-NW7M) 2020/11/10(火)16:23 ID:7m/sr7zP0(1/2) AAS
ループ間のディレイをなくす設定ってありますか?
Reloadで中断できるようにDllCallのSleepを小分けにしてループさせてたんですが
WindowsとAHKのアプデ後からループ10回で0.1秒ぐらいのディレイが入るようになりました
現状はこの設定です
#NoEnv
ListLines Off
Process, Priority, , H
SetBatchLines, -1
SetKeyDelay, -1, -1
SetMouseDelay, -1
省4
567
(1): (ワッチョイ 550a-l9zQ) 2020/11/10(火)20:20 ID:iUPLlj4e0(1) AAS
>>566
実際のスクリプトを見ないと誰も答えられない
検証用に最小限まで削ってから貼ってください
568: (ワッチョイW 6558-RVv3) 2020/11/10(火)21:17 ID:Opml9bS20(1/2) AAS
winみたいなマルチタスクOSではアプリ層で割り込み禁止にできないし
AHK側の設定をどう変えてもノーディレイにはならない

けどsleepの精度を上げる方法はある模様
外部リンク[html]:www.charatsoft.com

AHKで適用できるのか、できてもインタプリタなスプリクトでどこまで
シビアに時間制御ができるのかは知らんけど
569
(1): (ワッチョイ b197-NW7M) 2020/11/10(火)21:18 ID:7m/sr7zP0(2/2) AAS
>>567
上記の設定の後に

Sleep(Loops) {
Loop, %Loops%
DllCall("Sleep", "UInt", 50)
}

Shift::
Send, {Lbutton}
Sleep(20)
Send, {Lbutton}
省4
570: (ワッチョイW 6558-RVv3) 2020/11/10(火)21:55 ID:Opml9bS20(2/2) AAS
A_TickCount を使おう
ループの中に組み込んで所定時間が過ぎてたらbreakするように組めば
sleepでの時間誤差は考慮しなくて良くなる
571
(1): (ワッチョイ 0d0a-6m0w) 2020/11/11(水)00:33 ID:V+LIbDi40(1) AAS
>>569
↑のスクリプトで検証、ループであってもほぼ一致(+20〜30ms)ブラウザ経由の誤差だけ
他の負荷がかかってるのかも?タスクマネージャーで確認

念のため以下のスクリプトで検証してみてください。
通常は1ms程度の誤差しか出ないはずです。
外部リンク:pastebin.com
572: (ワッチョイ 1597-D0pj) 2020/11/13(金)21:38 ID:p37fZhSk0(1) AAS
>>571
セーフモードでの検証で
外部リンク:pastebin.com
AHK再インストール後でも同じでした
573
(1): (ワッチョイ 0d0a-6m0w) 2020/11/15(日)18:32 ID:mZ0u8NFa0(1/2) AAS
低スペでもそんな現象にならんと思うし
AHK関係なくハードに何か問題が発生しているのでは?
574
(1): 573 (ワッチョイ 0d0a-6m0w) 2020/11/15(日)19:12 ID:mZ0u8NFa0(2/2) AAS
毎回sleep誤差15msってことは分解能の問題みたいですね
>>573は忘れてくださいw

精度を上げるサンプル(timeBeginPeriod)
外部リンク[htm]:www.autohotkey.com
575: (ワッチョイ 1597-D0pj) 2020/11/15(日)22:19 ID:F94Ybu5B0(1) AAS
>>574
50ms200回で10125まで精度上がりました、ありがとうございます
576
(2): (ワッチョイ 57b1-D4Gu) 2020/11/18(水)02:47 ID:jye7OlUl0(1/4) AAS
firefoxを83にアップデートしたらfirefox関係のスクリプトが動かなくなった。
調べてると返ってくるウインドウタイトルが
YouTube - Mozilla Firefox とかから
YouTube - Mozilla Firefox と真ん中の棒が変わってた。
このまぎらわしい棒は何だと調べたらem-dashとか言うらしい。
577
(1): (ワッチョイ 57b1-D4Gu) 2020/11/18(水)02:56 ID:jye7OlUl0(2/4) AAS
すいません、>>576は間違えて同じもの2回貼り付けただけでした。
こっちが正しい比較です
YouTube - Mozilla Firefox (真ん中がハイフン)
YouTube ? Mozilla Firefox (真ん中がem-dash)
578: (ワッチョイ 57b1-D4Gu) 2020/11/18(水)02:59 ID:jye7OlUl0(3/4) AAS
だめだ、em-dashが?になって5chだと表示されないみたい。
em-dashはハイフンがちょっと長くなった見た目の記号です
1-
あと 424 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.016s