!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
■配布元
http://ahkscript.org/download/
■前スレ
AutoHotkey スレッド part27
http://egg.5ch.net/test/read.cgi/software/1555770773/
■日本語解説等
AutoHotkey Wik
http://ahkwiki.net
AutoHotkeyを流行らせるページ(ミラー)
http://ahk.xrea.jp/ (不調時は http://hdd.s300.xrea.com/ahk/ )
AutoHotkeyJp(過去ログdatあり)
http://sites.google.com/site/autohotkeyjp/
Autohotkey日本語ヘルプ(chmファイル)
http://www6.atwiki.jp/eamat/
Autohotkey専用うpろだ
http://ux.getuploader.com/autohotkeyl/
簡易スクリプト掲示板
http://pastebin.com/
■派生版
IronAhk (.NET製、クロスプラットフォーム)
https://github.com/polyethene/IronAHK
AutoHotkey.dll (真のマルチスレッド対応など, AHKLの派生)
http://www.autohotkey.com/board/topic/39588-autohotkeydll/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
AutoHotkey スレッド part28
■ このスレッドは過去ログ倉庫に格納されています
1名無しさん@お腹いっぱい。 (ワッチョイ aef9-dJm7)
2020/04/03(金) 18:35:06.00ID:/YRSlUCD0513名無しさん@お腹いっぱい。 (ワッチョイ 8230-8DiG)
2020/10/21(水) 19:18:17.24ID:p/8W4acR0 なるほどそんな手が!ありがとう
514名無しさん@お腹いっぱい。 (ガックシ 06e6-bMs7)
2020/10/22(木) 00:36:46.32ID:+oFWEyP36515名無しさん@お腹いっぱい。 (ワッチョイW 712d-rZCk)
2020/10/22(木) 11:29:24.22ID:uHQQeSKa0 ええで
516名無しさん@お腹いっぱい。 (ワッチョイ 46c0-8DiG)
2020/10/22(木) 17:31:33.33ID:k3pJj+AJ0 設定に苦慮しており、助けていただけると嬉しいです。
やりたいこと:テンキーのEnter(NumpadEnter)を押している間、Ctrl+Shiftに置き換えし、
テンキーのEnter(NumpadEnter)を二回押し、2回目を押している間、Ctrlに置き換え。
*NumpadEnter::
Keywait, NumpadEnter,
Keywait, NumpadEnter, D T0.15
で色々試していますが、二度押し&押しっぱなしにしか対応できず困っています……。
よろしくお願いします。
やりたいこと:テンキーのEnter(NumpadEnter)を押している間、Ctrl+Shiftに置き換えし、
テンキーのEnter(NumpadEnter)を二回押し、2回目を押している間、Ctrlに置き換え。
*NumpadEnter::
Keywait, NumpadEnter,
Keywait, NumpadEnter, D T0.15
で色々試していますが、二度押し&押しっぱなしにしか対応できず困っています……。
よろしくお願いします。
517名無しさん@お腹いっぱい。 (ワッチョイ d156-bMs7)
2020/10/23(金) 19:49:38.35ID:6sZqIp1O0 iTunesの再生停止、曲送りを割り当てることって出来ないですかね
Media_Play_Pauseを使っても動かなくて困っています
powermateのような外部デバイスでの再生停止は動くのですが…。
Media_Play_Pauseを使っても動かなくて困っています
powermateのような外部デバイスでの再生停止は動くのですが…。
518名無しさん@お腹いっぱい。 (ワッチョイ e9bc-untD)
2020/10/23(金) 22:24:48.75ID:xLBME1pE0 >>517
諦めたんじゃなかったのかw
COMオブジェクト操作したり
https://note.com/takanaction/n/n608bd1c598b9
ショートカットキーを送ったりすれば良いんじゃない?
https://www.autohotkey.com/boards/viewtopic.php?t=62090
メジャーなソフト用のスクリプトはいろんな人が作ってるから、「autohotkey itunes」みたいにググって参考にすると良いかも
諦めたんじゃなかったのかw
COMオブジェクト操作したり
https://note.com/takanaction/n/n608bd1c598b9
ショートカットキーを送ったりすれば良いんじゃない?
https://www.autohotkey.com/boards/viewtopic.php?t=62090
メジャーなソフト用のスクリプトはいろんな人が作ってるから、「autohotkey itunes」みたいにググって参考にすると良いかも
519名無しさん@お腹いっぱい。 (ワッチョイ 8273-LA9s)
2020/10/23(金) 23:06:56.54ID:0x9R3Tzg0520名無しさん@お腹いっぱい。 (ワッチョイ d156-bMs7)
2020/10/24(土) 02:19:29.00ID:T5kTB8Vu0 >>519
iTunesにメディアキーを送るソフトを使用した所
https://i.imgur.com/0vvO32H.png
このようにFailed to set hotkeyのエラーが出ました。
メディアキーの機能が死んでいるのは明白なのですが、メディアキーを復活させる方法が一向に分かりません。
かなり調べたのですが出てきたこちらの記事を
https://www.reviversoft.com/ja/blog/2014/06/what-to-do-when-your-media-keys-no-longer-work-on-your-keyboard/
試したのですがやはり駄目でした。(Human Interface Device Accessはそもそも動いていた)
windows10のメディアキーが効かない場合に動くようにする方法は無いでしょうか…。
本当に情報がありません。
iTunesにメディアキーを送るソフトを使用した所
https://i.imgur.com/0vvO32H.png
このようにFailed to set hotkeyのエラーが出ました。
メディアキーの機能が死んでいるのは明白なのですが、メディアキーを復活させる方法が一向に分かりません。
かなり調べたのですが出てきたこちらの記事を
https://www.reviversoft.com/ja/blog/2014/06/what-to-do-when-your-media-keys-no-longer-work-on-your-keyboard/
試したのですがやはり駄目でした。(Human Interface Device Accessはそもそも動いていた)
windows10のメディアキーが効かない場合に動くようにする方法は無いでしょうか…。
本当に情報がありません。
521名無しさん@お腹いっぱい。 (ワッチョイ 8273-tMQb)
2020/10/24(土) 02:27:13.11ID:S/98U1OW0 >>520
ス レ チ
ス レ チ
522名無しさん@お腹いっぱい。 (ワッチョイ d156-bMs7)
2020/10/24(土) 03:24:06.87ID:T5kTB8Vu0523名無しさん@お腹いっぱい。 (ワッチョイ 21b1-tMQb)
2020/10/24(土) 03:28:27.47ID:+MpvyafJ0 当たり前だろ
誰もお前のPC環境全く知らないし
触ってみなきゃ分かる訳ねえんだから
誰もお前のPC環境全く知らないし
触ってみなきゃ分かる訳ねえんだから
524名無しさん@お腹いっぱい。 (ワッチョイ 7e81-gGz3)
2020/10/24(土) 05:43:40.33ID:DDIUlkSX0 >>517
powermateのドライバとかが競合してんじゃないの?
powermateのドライバとかが競合してんじゃないの?
525名無しさん@お腹いっぱい。 (ワッチョイ bd11-gGz3)
2020/10/25(日) 12:47:57.82ID:aQtH8BBo0 ユーザー切り替えした時切り替え前のアカウントで動作させ続けるのは可能?
loopカウントを数えるだけのスクリプトは裏で動いてたけどメモ帳に文字を送り続けるようなやつは切り替えの時点で途切れてる
UWSCでも同じ感じで駄目だったし元のアカウントでのウィンドウのアクティブ化はやっぱり無理かな
loopカウントを数えるだけのスクリプトは裏で動いてたけどメモ帳に文字を送り続けるようなやつは切り替えの時点で途切れてる
UWSCでも同じ感じで駄目だったし元のアカウントでのウィンドウのアクティブ化はやっぱり無理かな
526名無しさん@お腹いっぱい。 (アウアウウーT Sa45-gGz3)
2020/10/25(日) 15:16:53.36ID:cnuvEfeua >>525
>ユーザー切り替えした時切り替え前のアカウントで動作させ続けるのは可能?
それができたらOSの欠陥だと思うけど
どういう理由でアカウントを切り替えて切り替え前のユーザのプログラムを継続させたいいんだ?
ユーザをログアウトせずにあるプログラムだけ別アカウントで動作させることができる
(runas ソフトによってはできない)が
そういう方法と組み合わせて近いことをすることはできないのかな
>ユーザー切り替えした時切り替え前のアカウントで動作させ続けるのは可能?
それができたらOSの欠陥だと思うけど
どういう理由でアカウントを切り替えて切り替え前のユーザのプログラムを継続させたいいんだ?
ユーザをログアウトせずにあるプログラムだけ別アカウントで動作させることができる
(runas ソフトによってはできない)が
そういう方法と組み合わせて近いことをすることはできないのかな
527名無しさん@お腹いっぱい。 (アウアウウーT Sa45-gGz3)
2020/10/25(日) 15:30:25.71ID:cnuvEfeua528名無しさん@お腹いっぱい。 (アウアウウーT Sa45-gGz3)
2020/10/25(日) 15:36:37.14ID:cnuvEfeua529名無しさん@お腹いっぱい。 (ワッチョイ e9bc-untD)
2020/10/25(日) 17:47:07.25ID:uaVWnWQJ0530名無しさん@お腹いっぱい。 (ワッチョイ bd11-gGz3)
2020/10/25(日) 21:50:52.06ID:aQtH8BBo0 裏でGUI操作させたままユーザー切り替えするのは無理そうですね
ありがとうございました
ありがとうございました
531名無しさん@お腹いっぱい。 (ワッチョイ 1105-z4aL)
2020/10/26(月) 23:55:07.30ID:0nLQayUp0 最新のMS-IMEの仕様だと、
Autohotkey IME制御用 関数群 (コピペ/組込用)(IME.ahk)
の更新が必要か?
Autohotkey IME制御用 関数群 (コピペ/組込用)(IME.ahk)
の更新が必要か?
532名無しさん@お腹いっぱい。 (ワッチョイ 998d-yS8S)
2020/10/30(金) 17:11:57.65ID:Ndf4EDLW0 >>531
IMEが有効な時にキーの置き換えを無効にしたくて、特定のアプリでは無効になってくれるのに
メモ帳では無効になってくれません
これってその仕様のせいですかね?
#include <ime>
#If ! IME_GET()
a::b
#If
Return
IMEが有効な時にキーの置き換えを無効にしたくて、特定のアプリでは無効になってくれるのに
メモ帳では無効になってくれません
これってその仕様のせいですかね?
#include <ime>
#If ! IME_GET()
a::b
#If
Return
533名無しさん@お腹いっぱい。 (ワッチョイ 998d-yS8S)
2020/10/30(金) 18:12:07.34ID:Ndf4EDLW0 指定したアプリ以外ではスクリプトを無効にしたいのですが、”#IfWinActive”で指定しても、”#If ! IME_GET()”を入れると指定以外のアプリで実行されてしまいます
指定したアプリ以外の場合は”#If ! IME_GET()”の部分を読まないようにするにはどうすればいいでしょうか
#IfWinActive ahk_exe notepad.exe
#include <ime>
#If ! IME_GET()
a::b
#If
Return
#IfWinActive
指定したアプリ以外の場合は”#If ! IME_GET()”の部分を読まないようにするにはどうすればいいでしょうか
#IfWinActive ahk_exe notepad.exe
#include <ime>
#If ! IME_GET()
a::b
#If
Return
#IfWinActive
534名無しさん@お腹いっぱい。 (ワッチョイ 6902-CXnf)
2020/10/30(金) 18:28:45.29ID:PSQm7T6f0 #If~ は次の #If~ が出現するまで有効、つまり一行目の #IfWinActive ahk_exe notepad.exe は無意味
条件を複数指定したければ式を引数に取る #If を使う。↓こんな感じ
#If WinActive("ahk_exe notepad.exe") && !IME_GET()
条件を複数指定したければ式を引数に取る #If を使う。↓こんな感じ
#If WinActive("ahk_exe notepad.exe") && !IME_GET()
535名無しさん@お腹いっぱい。 (ワッチョイ 998d-yS8S)
2020/10/30(金) 19:23:52.66ID:Ndf4EDLW0 >>534
やりたいことができました!感謝します!!
やりたいことができました!感謝します!!
536名無しさん@お腹いっぱい。 (ワッチョイ f173-CXnf)
2020/11/01(日) 18:48:49.89ID:f8skW5aS0 複数のスクリプトを起動させている時のリロードは全てのスクリプトがリロードできるのでしょうか?
537名無しさん@お腹いっぱい。 (ワッチョイ 6992-Jz5G)
2020/11/01(日) 19:11:40.19ID:Lmt/WVPq0538名無しさん@お腹いっぱい。 (ワッチョイW f158-4dkt)
2020/11/01(日) 19:14:51.80ID:cum2FKsZ0 自分だけだよ
ただ親スクリプトのautoexecuteで子スクリプトをまとめて起動して
全ての子スクリプトを #SingleInstance FORCEにしておけばリロード一発で全再起動にはなる
ただ親スクリプトのautoexecuteで子スクリプトをまとめて起動して
全ての子スクリプトを #SingleInstance FORCEにしておけばリロード一発で全再起動にはなる
539名無しさん@お腹いっぱい。 (ワッチョイ f173-CXnf)
2020/11/01(日) 20:13:11.39ID:f8skW5aS0 >>537-538
ありがとうございます。その方法を調べて試してみます
ありがとうございます。その方法を調べて試してみます
540名無しさん@お腹いっぱい。 (ワッチョイ f158-L1Xi)
2020/11/01(日) 21:38:30.40ID:+lp4/pQd0 今まで使えてたんですが、最近のバージョンアップのせいか、気づいたら使えなくなってました。
仕様変更があったみたいなインフォあったらページ教えてくれると嬉しいです。
キーを長押しした場合に分岐する関数です。
この「Time=0.2」の部分が機能しなくなりました。
初期値を指定して省略する、ということをせず、
関数を呼び出す際、省略せずに逐一「,"0.2")」と記述すれば機能するので、
現状すべてそれで修正しました。
また、数値を「Time=0.5」にすると一応分岐が機能するんですが、
体感的にどうも1.0秒くらい押しておかないと長押し判定されないんです。
Hold(Key, SendA, SendB, Time=0.2)
{
KeyWait, %Key%, T%Time%
If (ErrorLevel=0)
{
Send, %SendA%
}
Else
{
Send, %SendB%
KeyWait, %Key%
}
}
F1::Hold("F1", "{F1}", "^{F1}")
仕様変更があったみたいなインフォあったらページ教えてくれると嬉しいです。
キーを長押しした場合に分岐する関数です。
この「Time=0.2」の部分が機能しなくなりました。
初期値を指定して省略する、ということをせず、
関数を呼び出す際、省略せずに逐一「,"0.2")」と記述すれば機能するので、
現状すべてそれで修正しました。
また、数値を「Time=0.5」にすると一応分岐が機能するんですが、
体感的にどうも1.0秒くらい押しておかないと長押し判定されないんです。
Hold(Key, SendA, SendB, Time=0.2)
{
KeyWait, %Key%, T%Time%
If (ErrorLevel=0)
{
Send, %SendA%
}
Else
{
Send, %SendB%
KeyWait, %Key%
}
}
F1::Hold("F1", "{F1}", "^{F1}")
541540 (ワッチョイ f158-L1Xi)
2020/11/02(月) 04:26:40.82ID:YjDJU8KL0 すみません自己解決しました!
バージョンアップのせいなんかじゃありませんでした・・・
別の関数の都合で以下のようなものを書いていたのですが、
SetFormat, float, 3.0
これ計算結果に対してだけ効果のあるものだと思ってたんですが、
関数の初期値に指定した数値にも影響するみたいでした。
0.5という指定のときに1.0に四捨五入されるのも納得です。
自分がアホでした、スレ汚しごめんなさい。
バージョンアップのせいなんかじゃありませんでした・・・
別の関数の都合で以下のようなものを書いていたのですが、
SetFormat, float, 3.0
これ計算結果に対してだけ効果のあるものだと思ってたんですが、
関数の初期値に指定した数値にも影響するみたいでした。
0.5という指定のときに1.0に四捨五入されるのも納得です。
自分がアホでした、スレ汚しごめんなさい。
542名無しさん@お腹いっぱい。 (ワッチョイW d96e-4geH)
2020/11/04(水) 07:17:56.05ID:fAt0anr70 PageUpをWin+L(ロック)にしたいのですが、上手く動きません
PgUp::#l
で動きません…
これは何が原因なのでしょうか
PgUp::#l
で動きません…
これは何が原因なのでしょうか
543名無しさん@お腹いっぱい。 (ワッチョイW d96e-4geH)
2020/11/04(水) 07:27:24.69ID:fAt0anr70544名無しさん@お腹いっぱい。 (ワッチョイW 5edc-veuN)
2020/11/04(水) 07:50:49.25ID:hfaH06vJ0 珍しいやつがいるな
545名無しさん@お腹いっぱい。 (ワッチョイ 6176-9BKS)
2020/11/04(水) 17:16:09.35ID:1IOEDSZU0 真にマルチスレッド化する方法は、どうしてもないのでしょうか?
例えばAutoHotkey.exeをコピーして、別で実行してみても、それぞれのスクリプトは疑似マルチスレッド的に動作しています。
PCの一般ユーザーでエンジニアではないです。根本の仕組みがわからないために湧いた疑問なのですが、
何とかして別のソフトのように実行できないものでしょうか?
例えばAutoHotkey.exeをコピーして、別で実行してみても、それぞれのスクリプトは疑似マルチスレッド的に動作しています。
PCの一般ユーザーでエンジニアではないです。根本の仕組みがわからないために湧いた疑問なのですが、
何とかして別のソフトのように実行できないものでしょうか?
546名無しさん@お腹いっぱい。 (ワッチョイ 5e02-t1Nk)
2020/11/04(水) 18:08:51.47ID:RBW8HZXS0 >別のソフトのように実行
同じスクリプトを同時に実行したいってことなら #SingleInstance Off
同じスクリプトを同時に実行したいってことなら #SingleInstance Off
547名無しさん@お腹いっぱい。 (ワッチョイ 6558-t1Nk)
2020/11/04(水) 18:25:04.69ID:ZyxeyMFR0 >それぞれのスクリプトは疑似マルチスレッド的に動作しています。
の意味が分からん
真マルチスレッド的な動作と何が違うん?
の意味が分からん
真マルチスレッド的な動作と何が違うん?
548名無しさん@お腹いっぱい。 (ワッチョイ c13e-79Tt)
2020/11/05(木) 18:07:56.73ID:I/mZi28I0 新しいパソコンで、ジョイパットが反応してくれません
AutoHotkeyのウィンドウ(実行履歴とか変数一覧を表示してくれるやつ)が
アクティブ状態だと何故か普通に反応するのですが、それ以外ではうんともすんとも言ってくれません
この症状に心当たりある人ますか?
AutoHotkeyのウィンドウ(実行履歴とか変数一覧を表示してくれるやつ)が
アクティブ状態だと何故か普通に反応するのですが、それ以外ではうんともすんとも言ってくれません
この症状に心当たりある人ますか?
549名無しさん@お腹いっぱい。 (ワッチョイ 5e02-t1Nk)
2020/11/05(木) 21:20:37.23ID:yGBOughe0 #If系のディレクティブが誤爆してんじゃないの
550名無しさん@お腹いっぱい。 (ワッチョイ c13e-79Tt)
2020/11/05(木) 22:18:37.85ID:I/mZi28I0 検証用に数行だけ書いたスクリプトでやってみてもダメなので#If系は関係なさそうです
一応、JoyToKeyは正常に反応するので、
ジョイパット操作をJoyToKeyで受ける→JoyToKeyが出力したキー操作をAutoHotkeyで処理する
ということは出来そう
ただ、書き直しが面倒なうえに処理がややこしいので、できれば避けたい
一応、JoyToKeyは正常に反応するので、
ジョイパット操作をJoyToKeyで受ける→JoyToKeyが出力したキー操作をAutoHotkeyで処理する
ということは出来そう
ただ、書き直しが面倒なうえに処理がややこしいので、できれば避けたい
551名無しさん@お腹いっぱい。 (ワッチョイ 72ba-t1Nk)
2020/11/05(木) 22:45:03.39ID:GGl1mCW80 >>550
その検証用スクリプト貼ったら?
その検証用スクリプト貼ったら?
552名無しさん@お腹いっぱい。 (ワッチョイ c13e-79Tt)
2020/11/05(木) 23:50:16.43ID:I/mZi28I0 検証用といっても、ツールチップでジョイパットの状態を表示しているだけです。
SetTimer, Timer, 100
Timer:
GetKeyState, joyx, JoyX
GetKeyState, joyy, JoyY
GetKeyState, joy1, joy1
GetKeyState, joy2, joy2
GetKeyState, joy3, joy3
GetKeyState, joy4, joy4
ToolTip,%joyx% %joyy% ,0,0
ToolTip,%joy1% %joy2% %joy3% %joy4%,1,25,2
return
joy1::ToolTip,1,1,50,3
joy2::ToolTip,2,1,50,3
Joy3::ToolTip,3,1,50,3
Joy4::ToolTip,4,1,50,3
SetTimer, Timer, 100
Timer:
GetKeyState, joyx, JoyX
GetKeyState, joyy, JoyY
GetKeyState, joy1, joy1
GetKeyState, joy2, joy2
GetKeyState, joy3, joy3
GetKeyState, joy4, joy4
ToolTip,%joyx% %joyy% ,0,0
ToolTip,%joy1% %joy2% %joy3% %joy4%,1,25,2
return
joy1::ToolTip,1,1,50,3
joy2::ToolTip,2,1,50,3
Joy3::ToolTip,3,1,50,3
Joy4::ToolTip,4,1,50,3
553名無しさん@お腹いっぱい。 (ワッチョイ 72ba-t1Nk)
2020/11/06(金) 00:51:44.04ID:IZlN468w0 >>552
試したけどスクリプト自体は何も問題なく動いてる
AHKのウィンドウを出さなくてもX軸やY軸やボタンも取得してツールチップに表示されてる
Chromeやメモ帳などアクティブ時でも問題なし
JTKも常駐させてるけど併用して問題ない
となると貴方の環境で何か別のスクリプトや他の常駐ソフトなどが邪魔してるんじゃない?
ちなみにスクリプトを管理者権限で実行してもダメ?
試したけどスクリプト自体は何も問題なく動いてる
AHKのウィンドウを出さなくてもX軸やY軸やボタンも取得してツールチップに表示されてる
Chromeやメモ帳などアクティブ時でも問題なし
JTKも常駐させてるけど併用して問題ない
となると貴方の環境で何か別のスクリプトや他の常駐ソフトなどが邪魔してるんじゃない?
ちなみにスクリプトを管理者権限で実行してもダメ?
554名無しさん@お腹いっぱい。 (ワッチョイW 6558-RVv3)
2020/11/06(金) 01:58:35.01ID:03VprpHh0 新しいPCと古いPCの環境の違いを書き出してみるといいよ
多分OSのビルドやahkのバージョンあたりに細かい差異があるんでないの
知らんけど
多分OSのビルドやahkのバージョンあたりに細かい差異があるんでないの
知らんけど
555名無しさん@お腹いっぱい。 (ワッチョイ 6176-9BKS)
2020/11/06(金) 04:26:02.69ID:Cd90Lss80556名無しさん@お腹いっぱい。 (ワッチョイ 3192-K92V)
2020/11/06(金) 08:28:24.96ID:RAq9Icdy0557名無しさん@お腹いっぱい。 (ワッチョイW 6558-RVv3)
2020/11/06(金) 14:28:42.61ID:03VprpHh0 スレッドとプロセスがごっちゃになってるぽい?
https://image.itmedia.co.jp/ait/articles/0503/12/dt-mthread01_02.gif
>555
exe(プロセス)を分けて動作が遅くなるっていうのは
色んなアプリを一度に立ち上げて動かしてたら1窓単体起動のときより重くなりましたつってるのと同じでは?
>556の言うように手動で任意のCPU割り当てる方法もあるけど
プロセス別のコア割り当ては基本OS側の仕事だと思う
同一プロセス内でのマルチスレッドについては
AHKは擬似マルチスレッドなのでマルチコア対応はしてないと思う
https://image.itmedia.co.jp/ait/articles/0503/12/dt-mthread01_02.gif
>555
exe(プロセス)を分けて動作が遅くなるっていうのは
色んなアプリを一度に立ち上げて動かしてたら1窓単体起動のときより重くなりましたつってるのと同じでは?
>556の言うように手動で任意のCPU割り当てる方法もあるけど
プロセス別のコア割り当ては基本OS側の仕事だと思う
同一プロセス内でのマルチスレッドについては
AHKは擬似マルチスレッドなのでマルチコア対応はしてないと思う
558名無しさん@お腹いっぱい。 (ワッチョイ 6558-t1Nk)
2020/11/06(金) 16:31:41.10ID:pYlpzeSL0559名無しさん@お腹いっぱい。 (ワッチョイ 6176-9BKS)
2020/11/06(金) 21:48:27.22ID:Cd90Lss80 >>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によるマウスカーソルの移動速度が上がります。
このことから、AutoHotkey.exeとMouseGestureL.exeで別プロセス?として実行していたはずのスクリプトですが、相互にスレッドを奪い合って?いるのではないかと思いました。
MouseGestureL.ahkの仕様はわかりませんが、ループ処理がなされているのだろうと推測しました。
ともかく、実行ファイルもスクリプトファイルも分けて、独立したはずのアプリケーション同士が干渉しあっているので、
疑似マルチスレッド動作になっているのではないかと思いました。
以上です。
これを互いに完全に独立した動作にする方法がないかと思い、質問しました。
関係するかわかりませんが、CPUはi7-8700Kです。
検証用のスクリプトは用意していないので、わかりにくいかもしれませんが現状を話します。
何が関係しているかわかりませんから、念の為詳細に書きます。
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によるマウスカーソルの移動速度が上がります。
このことから、AutoHotkey.exeとMouseGestureL.exeで別プロセス?として実行していたはずのスクリプトですが、相互にスレッドを奪い合って?いるのではないかと思いました。
MouseGestureL.ahkの仕様はわかりませんが、ループ処理がなされているのだろうと推測しました。
ともかく、実行ファイルもスクリプトファイルも分けて、独立したはずのアプリケーション同士が干渉しあっているので、
疑似マルチスレッド動作になっているのではないかと思いました。
以上です。
これを互いに完全に独立した動作にする方法がないかと思い、質問しました。
関係するかわかりませんが、CPUはi7-8700Kです。
561名無しさん@お腹いっぱい。 (ワッチョイ 6558-t1Nk)
2020/11/06(金) 22:02:37.65ID:pYlpzeSL0 そもそもAutoHotkey.exeを改名とかやってることが特殊過ぎてな
意味あんのかそれって感じだし
まだコンパイルしてスクリプト自体を別exeにした方がいいんじゃねえの
意味あんのかそれって感じだし
まだコンパイルしてスクリプト自体を別exeにした方がいいんじゃねえの
562名無しさん@お腹いっぱい。 (ワッチョイ d25a-t1Nk)
2020/11/06(金) 22:14:53.95ID:94t2tBdQ0 >>559
>そこで問題なのが、MouseGestureL.exeを終了させると、AutoHotkey.exe下のmouse.ahkによるマウスカーソルの移動速度が上がります。
MouseGestureL.exeも基本常駐じゃないの?終了即再起動することはあるけど終了したままにするケースがよく分からない
ま、何にしてもMouseGestureLが終了したらmouse.ahkの挙動が変わるのが嫌ということなら
MouseGestureLの方にmouse.ahkをIncludeさせればいいのでは?
それならMouseGestureL起動中しかmouse.ahkも動作しないわけだから
>そこで問題なのが、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:45.00ID:zxpauMpi0 >>559
自分もMGL使ってるけど同じahkスクリプトで常駐させたいものはMGLのプラグインにして
監視するのには「while」などのループじゃなく「settimer」使ってるな
プラグインにするのは別に薦めないけど、試しに「while」の代わりに「settimer」で監視してみては?
自分もMGL使ってるけど同じahkスクリプトで常駐させたいものはMGLのプラグインにして
監視するのには「while」などのループじゃなく「settimer」使ってるな
プラグインにするのは別に薦めないけど、試しに「while」の代わりに「settimer」で監視してみては?
564名無しさん@お腹いっぱい。 (ワッチョイW 6558-RVv3)
2020/11/07(土) 01:04:37.47ID:lXeAUpve0 マルチスレッド云々以前の問題な気が
まず、マウスの挙動を制御するプロセスス2つ同時に動かすことで干渉しあってる可能性は?
コントロールの奪い合いになってたりしない?
あとmouse.ahkの回し方に問題あると思う
20msの高頻度でMousemoveし続けて必ず時間どうりに動かすのがまず無理だし
ループ監視するよりHotkey、#if あたりで2ストロークイベントにしたほうがスムースに動くんではないか
まず、マウスの挙動を制御するプロセスス2つ同時に動かすことで干渉しあってる可能性は?
コントロールの奪い合いになってたりしない?
あとmouse.ahkの回し方に問題あると思う
20msの高頻度でMousemoveし続けて必ず時間どうりに動かすのがまず無理だし
ループ監視するよりHotkey、#if あたりで2ストロークイベントにしたほうがスムースに動くんではないか
565名無しさん@お腹いっぱい。 (スフッ Sdb2-RPT/)
2020/11/07(土) 19:11:05.17ID:/fD/cqh1d566名無しさん@お腹いっぱい。 (ワッチョイ b197-NW7M)
2020/11/10(火) 16:23:55.12ID:7m/sr7zP0 ループ間のディレイをなくす設定ってありますか?
Reloadで中断できるようにDllCallのSleepを小分けにしてループさせてたんですが
WindowsとAHKのアプデ後からループ10回で0.1秒ぐらいのディレイが入るようになりました
現状はこの設定です
#NoEnv
ListLines Off
Process, Priority, , H
SetBatchLines, -1
SetKeyDelay, -1, -1
SetMouseDelay, -1
SetDefaultMouseSpeed, 0
SetWinDelay, -1
SetControlDelay, -1
SendMode Input
Reloadで中断できるようにDllCallのSleepを小分けにしてループさせてたんですが
WindowsとAHKのアプデ後からループ10回で0.1秒ぐらいのディレイが入るようになりました
現状はこの設定です
#NoEnv
ListLines Off
Process, Priority, , H
SetBatchLines, -1
SetKeyDelay, -1, -1
SetMouseDelay, -1
SetDefaultMouseSpeed, 0
SetWinDelay, -1
SetControlDelay, -1
SendMode Input
567名無しさん@お腹いっぱい。 (ワッチョイ 550a-l9zQ)
2020/11/10(火) 20:20:11.56ID:iUPLlj4e0568名無しさん@お腹いっぱい。 (ワッチョイW 6558-RVv3)
2020/11/10(火) 21:17:47.40ID:Opml9bS20 winみたいなマルチタスクOSではアプリ層で割り込み禁止にできないし
AHK側の設定をどう変えてもノーディレイにはならない
けどsleepの精度を上げる方法はある模様
http://www.charatsoft.com/develop/otogema/page/02window/sleep.html
AHKで適用できるのか、できてもインタプリタなスプリクトでどこまで
シビアに時間制御ができるのかは知らんけど
AHK側の設定をどう変えてもノーディレイにはならない
けどsleepの精度を上げる方法はある模様
http://www.charatsoft.com/develop/otogema/page/02window/sleep.html
AHKで適用できるのか、できてもインタプリタなスプリクトでどこまで
シビアに時間制御ができるのかは知らんけど
569名無しさん@お腹いっぱい。 (ワッチョイ b197-NW7M)
2020/11/10(火) 21:18:03.46ID:7m/sr7zP0 >>567
上記の設定の後に
Sleep(Loops) {
Loop, %Loops%
DllCall("Sleep", "UInt", 50)
}
Shift::
Send, {Lbutton}
Sleep(20)
Send, {Lbutton}
Return
https://stopwatch.onl.jp
検証サイトはここです
Loop使わず直接1000ms指定だとディレイなし、Loopありだと+100~200ms,設定全削除だと+300~400msに増えました
上記の設定の後に
Sleep(Loops) {
Loop, %Loops%
DllCall("Sleep", "UInt", 50)
}
Shift::
Send, {Lbutton}
Sleep(20)
Send, {Lbutton}
Return
https://stopwatch.onl.jp
検証サイトはここです
Loop使わず直接1000ms指定だとディレイなし、Loopありだと+100~200ms,設定全削除だと+300~400msに増えました
570名無しさん@お腹いっぱい。 (ワッチョイW 6558-RVv3)
2020/11/10(火) 21:55:37.89ID:Opml9bS20 A_TickCount を使おう
ループの中に組み込んで所定時間が過ぎてたらbreakするように組めば
sleepでの時間誤差は考慮しなくて良くなる
ループの中に組み込んで所定時間が過ぎてたらbreakするように組めば
sleepでの時間誤差は考慮しなくて良くなる
571名無しさん@お腹いっぱい。 (ワッチョイ 0d0a-6m0w)
2020/11/11(水) 00:33:28.39ID:V+LIbDi40 >>569
↑のスクリプトで検証、ループであってもほぼ一致(+20〜30ms)ブラウザ経由の誤差だけ
他の負荷がかかってるのかも?タスクマネージャーで確認
念のため以下のスクリプトで検証してみてください。
通常は1ms程度の誤差しか出ないはずです。
https://pastebin.com/Rs3N47rb
↑のスクリプトで検証、ループであってもほぼ一致(+20〜30ms)ブラウザ経由の誤差だけ
他の負荷がかかってるのかも?タスクマネージャーで確認
念のため以下のスクリプトで検証してみてください。
通常は1ms程度の誤差しか出ないはずです。
https://pastebin.com/Rs3N47rb
572名無しさん@お腹いっぱい。 (ワッチョイ 1597-D0pj)
2020/11/13(金) 21:38:30.41ID:p37fZhSk0573名無しさん@お腹いっぱい。 (ワッチョイ 0d0a-6m0w)
2020/11/15(日) 18:32:50.67ID:mZ0u8NFa0 低スペでもそんな現象にならんと思うし
AHK関係なくハードに何か問題が発生しているのでは?
AHK関係なくハードに何か問題が発生しているのでは?
574573 (ワッチョイ 0d0a-6m0w)
2020/11/15(日) 19:12:31.38ID:mZ0u8NFa0 毎回sleep誤差15msってことは分解能の問題みたいですね
>>573は忘れてくださいw
精度を上げるサンプル(timeBeginPeriod)
https://www.autohotkey.com/docs/commands/Sleep.htm#ShorterSleep
>>573は忘れてくださいw
精度を上げるサンプル(timeBeginPeriod)
https://www.autohotkey.com/docs/commands/Sleep.htm#ShorterSleep
575名無しさん@お腹いっぱい。 (ワッチョイ 1597-D0pj)
2020/11/15(日) 22:19:49.93ID:F94Ybu5B0 >>574
50ms200回で10125まで精度上がりました、ありがとうございます
50ms200回で10125まで精度上がりました、ありがとうございます
576名無しさん@お腹いっぱい。 (ワッチョイ 57b1-D4Gu)
2020/11/18(水) 02:47:53.44ID:jye7OlUl0 firefoxを83にアップデートしたらfirefox関係のスクリプトが動かなくなった。
調べてると返ってくるウインドウタイトルが
YouTube - Mozilla Firefox とかから
YouTube - Mozilla Firefox と真ん中の棒が変わってた。
このまぎらわしい棒は何だと調べたらem-dashとか言うらしい。
調べてると返ってくるウインドウタイトルが
YouTube - Mozilla Firefox とかから
YouTube - Mozilla Firefox と真ん中の棒が変わってた。
このまぎらわしい棒は何だと調べたらem-dashとか言うらしい。
577名無しさん@お腹いっぱい。 (ワッチョイ 57b1-D4Gu)
2020/11/18(水) 02:56:36.33ID:jye7OlUl0 すいません、>>576は間違えて同じもの2回貼り付けただけでした。
こっちが正しい比較です
YouTube - Mozilla Firefox (真ん中がハイフン)
YouTube ? Mozilla Firefox (真ん中がem-dash)
こっちが正しい比較です
YouTube - Mozilla Firefox (真ん中がハイフン)
YouTube ? Mozilla Firefox (真ん中がem-dash)
578名無しさん@お腹いっぱい。 (ワッチョイ 57b1-D4Gu)
2020/11/18(水) 02:59:50.81ID:jye7OlUl0 だめだ、em-dashが?になって5chだと表示されないみたい。
em-dashはハイフンがちょっと長くなった見た目の記号です
em-dashはハイフンがちょっと長くなった見た目の記号です
579名無しさん@お腹いっぱい。 (ワッチョイ 57b1-ZP6B)
2020/11/18(水) 09:14:49.00ID:RsW9sGDZ0 >>576
ウインドウクラスで指定すれば?
もしタイトルも必要なら「em-dash」以降は指定しなくても特定できるでしょ
#IF [ウインドウクラス] && [「em-dash」以降を削除したウインドウタイトル]
↑とかで
ウインドウクラスで指定すれば?
もしタイトルも必要なら「em-dash」以降は指定しなくても特定できるでしょ
#IF [ウインドウクラス] && [「em-dash」以降を削除したウインドウタイトル]
↑とかで
580名無しさん@お腹いっぱい。 (ワッチョイ 57b1-ZP6B)
2020/11/18(水) 09:18:34.79ID:RsW9sGDZ0581名無しさん@お腹いっぱい。 (ワッチョイ 57b1-ZP6B)
2020/11/18(水) 10:16:17.44ID:RsW9sGDZ0 あ、>>579は何か間抜けな方法だったかも…↓な感じで良かったか?
#IfWinActive, 「em-dash」以降を削除したウインドウタイトル ahk_class MozillaWindowClass
適当なこと言い過ぎだから後は黙っときまつ
#IfWinActive, 「em-dash」以降を削除したウインドウタイトル ahk_class MozillaWindowClass
適当なこと言い過ぎだから後は黙っときまつ
582名無しさん@お腹いっぱい。 (ワッチョイ 57b1-D4Gu)
2020/11/18(水) 12:27:26.44ID:jye7OlUl0 >>581
youtubeドメイン内のページ全てで動作させたいので、SetTitleMatchMode, 2 でタイトル部分一致にして
#IfWinActive,YouTube - Mozilla Firefox
としてます。youtubeドメインのタイトル末尾は全部 YouTube - Mozilla Firefox で終わってるので。
youtubeドメイン内のページ全てで動作させたいので、SetTitleMatchMode, 2 でタイトル部分一致にして
#IfWinActive,YouTube - Mozilla Firefox
としてます。youtubeドメインのタイトル末尾は全部 YouTube - Mozilla Firefox で終わってるので。
583名無しさん@お腹いっぱい。 (ワッチョイ 1f3e-NOUc)
2020/11/18(水) 19:23:06.56ID:R3wB7cjZ0 a up::b
とすると
Line Test:*a up up::
Error:invalid hotkey
のようにエラーが出てしまう。対処法を教えてください
とすると
Line Test:*a up up::
Error:invalid hotkey
のようにエラーが出てしまう。対処法を教えてください
584名無しさん@お腹いっぱい。 (スッップ Sd02-IiZA)
2020/11/18(水) 19:32:07.56ID:N187D9Tyd >>583
a up::send, b
a up::send, b
585名無しさん@お腹いっぱい。 (ワッチョイ 1f3e-NOUc)
2020/11/18(水) 20:02:08.83ID:R3wB7cjZ0 >>584
出来ました。ありがとうございます
AutoHotkeyJpのリマップの項を読んでも、いまいち分からないんだけど
リマップしようとすると、スクリプトの実行時に自動的にホットキーに変換されちゃって、それが
a up up::
になって、エラーの原因になっている。って認識でいいんでしょうか?
出来ました。ありがとうございます
AutoHotkeyJpのリマップの項を読んでも、いまいち分からないんだけど
リマップしようとすると、スクリプトの実行時に自動的にホットキーに変換されちゃって、それが
a up up::
になって、エラーの原因になっている。って認識でいいんでしょうか?
586名無しさん@お腹いっぱい。 (アウアウウーT Sa3b-C6sL)
2020/11/18(水) 20:29:34.01ID:5zToSpE1a >>577
ついにウィンドウタイトルというかアプリのリソースにUnicodeが使われる時代がきたのか
これまでどおり「-」ハイフンというかマイナスだとなんか問題があるのかねぇ
今回のように障害になることの方が多い気がするなぁ
ついにウィンドウタイトルというかアプリのリソースにUnicodeが使われる時代がきたのか
これまでどおり「-」ハイフンというかマイナスだとなんか問題があるのかねぇ
今回のように障害になることの方が多い気がするなぁ
587名無しさん@お腹いっぱい。 (スップ Sd22-IiZA)
2020/11/18(水) 20:39:04.99ID:gySV1Zomd >>585
そんな感じ
そんな感じ
588名無しさん@お腹いっぱい。 (ワッチョイ 57b1-D4Gu)
2020/11/19(木) 20:16:44.85ID:JScPAAMr0 質問なのですが、1つのスクリプトの中で SetTitleMatchMode,2 と SetTitleMatchMode,3 を混在することは出来ますか?
下のように書いても初めの SetTitleMatchMode,2 のみ読み込まれているようなのですが
SetTitleMatchMode,2 ;部分一致
#ifwinactive 無題
^2::
msgbox, 2
return
#ifwinactive
SetTitleMatchMode,3 ;完全一致
#ifwinactive 無題 - メモ帳
^1::
msgbox, 1
return
#ifwinactive
下のように書いても初めの SetTitleMatchMode,2 のみ読み込まれているようなのですが
SetTitleMatchMode,2 ;部分一致
#ifwinactive 無題
^2::
msgbox, 2
return
#ifwinactive
SetTitleMatchMode,3 ;完全一致
#ifwinactive 無題 - メモ帳
^1::
msgbox, 1
return
#ifwinactive
589名無しさん@お腹いっぱい。 (ワッチョイW 4b58-Q/DF)
2020/11/19(木) 21:12:14.90ID:aDkK1dmt0 #If系で参照する既定値はAutoexecuteでしか指定できない
スレッドごとの再指定は可能なのでホットキーラベルの中では使える
SetTitleMatchMode,2 ;部分一致
^2::
msgbox, % A_TitleMatchMode
return
^1::
SetTitleMatchMode,3 ;完全一致
msgbox, % A_TitleMatchMode
return
スレッドごとの再指定は可能なのでホットキーラベルの中では使える
SetTitleMatchMode,2 ;部分一致
^2::
msgbox, % A_TitleMatchMode
return
^1::
SetTitleMatchMode,3 ;完全一致
msgbox, % A_TitleMatchMode
return
590名無しさん@お腹いっぱい。 (ワッチョイ e220-i8bA)
2020/11/19(木) 21:19:49.46ID:dLHSdZBc0591名無しさん@お腹いっぱい。 (ワッチョイ 57b1-D4Gu)
2020/11/19(木) 23:26:20.80ID:JScPAAMr0 >>589,590
ありがとうございます、上手くわけることができました。
ありがとうございます、上手くわけることができました。
592名無しさん@お腹いっぱい。 (ワッチョイ e220-i8bA)
2020/11/21(土) 15:47:54.04ID:HFuDqTjt0 GUIのウィンドウスタイルについて教えてください
メッセージボックスのような閉じるボタンのみのGUIウィンドウは作成できますか
よろしくお願いいたします
サンプル
Gui, -MinimizeBox +AlwaysOnTop ;SysMenu+XButton
;Gui, -SysMenu +AlwaysOnTop ;None
Gui, Add, Edit
Gui, Show
MsgBox
ExitApp
メッセージボックスのような閉じるボタンのみのGUIウィンドウは作成できますか
よろしくお願いいたします
サンプル
Gui, -MinimizeBox +AlwaysOnTop ;SysMenu+XButton
;Gui, -SysMenu +AlwaysOnTop ;None
Gui, Add, Edit
Gui, Show
MsgBox
ExitApp
593名無しさん@お腹いっぱい。 (ワッチョイ 9711-i8bA)
2020/11/21(土) 17:24:41.85ID:gIijDdiS0 >>592
なんでサンプルがEditなんだよ
なんでサンプルがEditなんだよ
594592 (ワッチョイ 1bbe-i8bA)
2020/11/22(日) 11:14:04.41ID:6IUc61XH0595名無しさん@お腹いっぱい。 (ワッチョイ a2b1-b6az)
2020/11/24(火) 14:18:35.34ID:35b4u2J50 すいません教えて下さい
zを押してある場所で左クリックしたままにして
zを離したら左クリック解除して他の場所をクリックしたいんですが
200ms以内に離した場合は200ms後に左クリックするようにしたいんです
z::
MouseClick, L, 900, 775, 1, 0, D
Sleep, 200
Return
z Up::
MouseClick, L, 900, 775, 1, 0, U
MouseClick, L, 690, 775, 1, 0
Return
これだと200ms以内にクリックしてしまいました
どうすればいいか教えて下さい
zを押してある場所で左クリックしたままにして
zを離したら左クリック解除して他の場所をクリックしたいんですが
200ms以内に離した場合は200ms後に左クリックするようにしたいんです
z::
MouseClick, L, 900, 775, 1, 0, D
Sleep, 200
Return
z Up::
MouseClick, L, 900, 775, 1, 0, U
MouseClick, L, 690, 775, 1, 0
Return
これだと200ms以内にクリックしてしまいました
どうすればいいか教えて下さい
596名無しさん@お腹いっぱい。 (ワッチョイ d758-ZC6u)
2020/11/26(木) 19:22:30.23ID:0VP9GA5s0 >>595
望みが実現しない原因。
Sleep,200 でSetTimer以外のスクリプト全体の動きは止まるが、
z Up::で新たなスレッドが実行されたので、
Sleep,200 の動作が一時停止し、MouseClick,U が行われた。
(z Up::の実行を終えた後、Sleep,200 のスレッドが再び動く)
KeyWaitを使うといいぞ
z::
x1:=900,y1:=775,x2:=690,y2:=775
MouseClick, L,%x1%,%y1%, 1, 0, D
KeyWait,z,T0.2 ;指定秒数 指定の状態になるのを待機する
if ErrorLevel ;時間が過ぎても指定の状態にならなかった
{ ;200ms以上押した場合
KeyWait,z ;このままzキーを押し続けた場合、z::が連続で実行されてしまうので待機処理を入れる
Send,{LButton UP}
;MouseClick, L,%x1%,%y2%, 1, 0, U
MouseClick, L, %x2%,%y2%, 1, 0
}
Else
{ ;200ms以内に離した場合
Sleep,200
Send,{LButton}
;MouseClick, L,%x1%,%y1%, 1, 0
}
Return
望みが実現しない原因。
Sleep,200 でSetTimer以外のスクリプト全体の動きは止まるが、
z Up::で新たなスレッドが実行されたので、
Sleep,200 の動作が一時停止し、MouseClick,U が行われた。
(z Up::の実行を終えた後、Sleep,200 のスレッドが再び動く)
KeyWaitを使うといいぞ
z::
x1:=900,y1:=775,x2:=690,y2:=775
MouseClick, L,%x1%,%y1%, 1, 0, D
KeyWait,z,T0.2 ;指定秒数 指定の状態になるのを待機する
if ErrorLevel ;時間が過ぎても指定の状態にならなかった
{ ;200ms以上押した場合
KeyWait,z ;このままzキーを押し続けた場合、z::が連続で実行されてしまうので待機処理を入れる
Send,{LButton UP}
;MouseClick, L,%x1%,%y2%, 1, 0, U
MouseClick, L, %x2%,%y2%, 1, 0
}
Else
{ ;200ms以内に離した場合
Sleep,200
Send,{LButton}
;MouseClick, L,%x1%,%y1%, 1, 0
}
Return
597名無しさん@お腹いっぱい。 (ワッチョイ 9fb1-P4WK)
2020/11/27(金) 13:40:13.10ID:j5UTV/Iv0 >>596
ありがとうございます出来るようになりました
ロジクールのlua scriptでやっていた事をautohotkeyでやろうとしたんですが
自動でコマンド間などにsleepが入るとかでちょっと指定時間より遅れるので
#NoEnv
SetBatchLines, -1
ListLines, Off
SetKeyDelay, -1
これを先頭に突けてみたのですがlua scriptより遅かったです
他に方法があったら教えて下さい
ありがとうございます出来るようになりました
ロジクールのlua scriptでやっていた事をautohotkeyでやろうとしたんですが
自動でコマンド間などにsleepが入るとかでちょっと指定時間より遅れるので
#NoEnv
SetBatchLines, -1
ListLines, Off
SetKeyDelay, -1
これを先頭に突けてみたのですがlua scriptより遅かったです
他に方法があったら教えて下さい
598名無しさん@お腹いっぱい。 (ワッチョイ e6b1-jrSk)
2020/12/03(木) 10:36:24.66ID:9dOR8MWZ0 Loopの使い方が分からないので教えて下さい
やりたい事は指定範囲の色が変わったらマウスポインタをA点(650, 750)に移動させ
色が変わる前にF2キーを押したらそB点(1500, 1000)に移動させてLoopを終わらせたいです
F2キーを押してB点移動した後もLoopが終わらず色が変わるとポインタがA点に動いてしまいます
F2キーを押したらB点に移動しLoopが終わるようにするにはどこが間違ってるか教えて下さい
F1::
CoordMode, Pixel, Screen
CoordMode, Mouse, Screen
Loop ;指定範囲が0xFDFDFD色になるか
{ ;F2キーが押されるまでLoopさせる
PixelSearch,,, 1265, 370, 1270, 375, 0xFDFDFD, 3, Fast
GetKeyState, state, F2 ;F2キーの状態を取得
if (ErrorLevel = 0 or state = D) ;0xFDFDFD色になる or F2キー操作でLoopを終わらせる
break
}
if state = D ;F2キー操作ならLoopを終了してF2キーに割り当てた操作をする
Return
Else ;0xFDFDFD色になら 650,750 に移動してLoopを終わらせる
MouseMove, 650, 750, 0 ;A点
Return
F2:: ;F2キーを操作したら 1500, 1000 に移動
CoordMode, Mouse, Screen
MouseMove, 1500, 1000, 0 ;B点
Return
やりたい事は指定範囲の色が変わったらマウスポインタをA点(650, 750)に移動させ
色が変わる前にF2キーを押したらそB点(1500, 1000)に移動させてLoopを終わらせたいです
F2キーを押してB点移動した後もLoopが終わらず色が変わるとポインタがA点に動いてしまいます
F2キーを押したらB点に移動しLoopが終わるようにするにはどこが間違ってるか教えて下さい
F1::
CoordMode, Pixel, Screen
CoordMode, Mouse, Screen
Loop ;指定範囲が0xFDFDFD色になるか
{ ;F2キーが押されるまでLoopさせる
PixelSearch,,, 1265, 370, 1270, 375, 0xFDFDFD, 3, Fast
GetKeyState, state, F2 ;F2キーの状態を取得
if (ErrorLevel = 0 or state = D) ;0xFDFDFD色になる or F2キー操作でLoopを終わらせる
break
}
if state = D ;F2キー操作ならLoopを終了してF2キーに割り当てた操作をする
Return
Else ;0xFDFDFD色になら 650,750 に移動してLoopを終わらせる
MouseMove, 650, 750, 0 ;A点
Return
F2:: ;F2キーを操作したら 1500, 1000 に移動
CoordMode, Mouse, Screen
MouseMove, 1500, 1000, 0 ;B点
Return
599名無しさん@お腹いっぱい。 (ワッチョイW 9b58-xGe0)
2020/12/03(木) 12:26:50.32ID:GUp+2HRv0 試してないけど怪しそうなとこ
if (ErrorLevel == 0 or state = "D")
if () と if カッコなし は記述ルールの違いが紛らわしいんで
なるべく混在させないほうがいいよ
if (ErrorLevel == 0 or state = "D")
if () と if カッコなし は記述ルールの違いが紛らわしいんで
なるべく混在させないほうがいいよ
600名無しさん@お腹いっぱい。 (ワッチョイ e6b1-jrSk)
2020/12/03(木) 13:48:39.55ID:9dOR8MWZ0 >>599
有難うございます
if (ErrorLevel = 0 or state = D)のカッコを外したらA点に移動しなくなりました
if (ErrorLevel = 0 or state = D)のまま
if state = Dにもカッコをつけたら前と変わらない動作のままでした
有難うございます
if (ErrorLevel = 0 or state = D)のカッコを外したらA点に移動しなくなりました
if (ErrorLevel = 0 or state = D)のまま
if state = Dにもカッコをつけたら前と変わらない動作のままでした
601名無しさん@お腹いっぱい。 (ワッチョイ efb1-S1nz)
2020/12/04(金) 00:31:13.26ID:0dL9tzcB0602名無しさん@お腹いっぱい。 (ワッチョイ e6b1-jrSk)
2020/12/04(金) 09:30:50.35ID:tzc0zJrS0603名無しさん@お腹いっぱい。 (ワッチョイ f17e-9rBX)
2020/12/04(金) 17:04:28.42ID:MrImZAZK0 v2はいつまでαなんだろうな
604名無しさん@お腹いっぱい。 (ワッチョイ efb1-S1nz)
2020/12/05(土) 02:10:21.07ID:M7niQZd10 >>603
現状(v1?)で不満ないんだけど、v2使うメリットって?
現状(v1?)で不満ないんだけど、v2使うメリットって?
605名無しさん@お腹いっぱい。 (アウアウウー Sa30-DDE+)
2020/12/05(土) 21:56:19.61ID:ttw726i4a 新しければ新しいほど楽しい
606名無しさん@お腹いっぱい。 (ワッチョイ 4c6e-CWdK)
2020/12/08(火) 19:56:16.74ID:yaQ1ZOXD0 AppleのUSキーボードをWindows10環境で使用しています。
(左CommandキーはLWin、右CommandキーはRWinとして認識されています)
・LWin単体で押されたときにvk1Dsc07B(無変換)を送る
・RWin単体で押されたときにvk1Csc079(変換)を送る
・↑と被るためWindowsキー単体で押された時の機能(スタートメニュー表示)は無くしたいが、Win+Rなどは残したい
ということがやりたいです。
~LWin Up::
if (A_PriorKey = "LWin") {
Send {vk1Dsc07B}
}
Return
が望みに近いのですが、スタートメニューが表示されてしまいます。
LWin::Return などを加えるとスタートメニューは表示されなくなりますが、Win+Rなども効かなくなってしまいます。
どのように設定すればよいか教えていただけますでしょうか?
(左CommandキーはLWin、右CommandキーはRWinとして認識されています)
・LWin単体で押されたときにvk1Dsc07B(無変換)を送る
・RWin単体で押されたときにvk1Csc079(変換)を送る
・↑と被るためWindowsキー単体で押された時の機能(スタートメニュー表示)は無くしたいが、Win+Rなどは残したい
ということがやりたいです。
~LWin Up::
if (A_PriorKey = "LWin") {
Send {vk1Dsc07B}
}
Return
が望みに近いのですが、スタートメニューが表示されてしまいます。
LWin::Return などを加えるとスタートメニューは表示されなくなりますが、Win+Rなども効かなくなってしまいます。
どのように設定すればよいか教えていただけますでしょうか?
607名無しさん@お腹いっぱい。 (ワッチョイ e773-orE1)
2020/12/11(金) 04:43:38.79ID:3zDhK2Cg0608名無しさん@お腹いっぱい。 (ワッチョイ 7f6e-LBAI)
2020/12/11(金) 18:18:16.53ID:7ZWD+tQW0 >>607
ありがとうございます。
教えていただいた方法で実現できました!
全然話は変わるのですが、マニュアルはどちらを参照されていますか?
vk1Dとかの書き方、自分の探し方だと出てこなかったもので。。。
ありがとうございます。
教えていただいた方法で実現できました!
全然話は変わるのですが、マニュアルはどちらを参照されていますか?
vk1Dとかの書き方、自分の探し方だと出てこなかったもので。。。
609名無しさん@お腹いっぱい。 (ワッチョイ c758-orE1)
2020/12/11(金) 18:37:56.77ID:wFOUTixS0 >>608
基本的に日本語wikiとここしか見てないよ
vk1Dとかの書き方はたまたまAHKのUpdateで記述ルールが変わった時にスレ見てたから
自分は把握してるだけでwikiは古い仕様のままだから直ってない
直せるなら直したいけどロックされてて出来ないんだよな
基本的に日本語wikiとここしか見てないよ
vk1Dとかの書き方はたまたまAHKのUpdateで記述ルールが変わった時にスレ見てたから
自分は把握してるだけでwikiは古い仕様のままだから直ってない
直せるなら直したいけどロックされてて出来ないんだよな
610名無しさん@お腹いっぱい。 (ワッチョイ 7f6e-LBAI)
2020/12/12(土) 00:50:25.31ID:gZiNtGot0611名無しさん@お腹いっぱい。 (ワッチョイ 6758-orE1)
2020/12/13(日) 01:46:26.64ID:yWHewayM0 長いことバージョンアップしてなくてv1.1.33.02にしたら
・カタカナひらがな
vkF2sc070:: Run, calc.exe
・変換
vk1Csc079:: Run, calc.exe
・無変換
vk1Dsc07B:: Run, calc.exe
各キーに割り当てていたホットキーがすべてエラーになります
なんと書き直せばいいのでしょうか?
・カタカナひらがな
vkF2sc070:: Run, calc.exe
・変換
vk1Csc079:: Run, calc.exe
・無変換
vk1Dsc07B:: Run, calc.exe
各キーに割り当てていたホットキーがすべてエラーになります
なんと書き直せばいいのでしょうか?
612名無しさん@お腹いっぱい。 (ワッチョイ 87dc-LBAI)
2020/12/13(日) 01:57:20.57ID:YY9Cj1GT0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【実況】ショートスリーパー堀大輔、7日間LIVE完走★39 [爆笑ゴリラ★]
- トランプ氏、イランとの戦闘終結時に「米国を助けなかった世界各国が、米国が負担した分の費用を支払うべき」 [Hitzeschleier★]
- 「こんなのは知事選挙じゃない」「政策で選べよ」「人物で選べよ」 玉城デニー氏、 「誹謗中傷」に怒りにじませる [Hitzeschleier★]
- 「セックスしたことある?」に「いい歳をして恥ずかしくないんですか」50~60代の薄毛眼鏡の男の声かけに、女子高生が一喝 [Hitzeschleier★]
- 【MLB】村上宗隆を「ベンチに下げるべき」 消えた打棒に米国人辛辣「彼以外なら誰でもいい」 8月以降は153打数で打率.131、三振率41.8% [ちょこ★]
- ラーメンの適正価格はいくら?ラーメン評論家が感じる「違和感」 [muffin★]
- 【実況】博衣こよりのえちえちホロ甲2026_2年目夏🧪 ☆3
- 【悲報】習近平、逝きそう [199590541]
- 【高市悲報】「海ぶどう」食べ放題のお店開いて一発当てようと思う🥺 [616817505]
- サウジアラビア「助けて!東、南、北の3方向から攻撃受けてるの!」トランプ「そう・・・(無関心)」 [303493227]
- ダブちゃんきたよぉ👊😅👊🏡
- インフレ負けしたガスト、炎上… [667744927]