元々がIDのみの表示で番号の始まっているスレを途中から別の表示で乗っ取るのは「背乗り」行為に当たるので、IDのみの表示で進行とします
■配布元
https://autohotkey.com/download/
■前スレ
AutoHotkey スレッド part29
https://egg.5ch.net/test/read.cgi/software/1620768466/
■日本語解説等
AutoHotkey Wiki
http://ahkwiki.net
AutoHotkeyを流行らせるページ(ミラー)
http://hdd.s300.xrea.com/ahk/
AutoHotkeyJp(過去ログdatあり)
https://sites.google.com/site/autohotkeyjp/
Autohotkey日本語ヘルプ(chmファイル)
https://www6.atwiki.jp/eamat/
■スクリプト投稿
Autohotkey専用うpろだ
https://ux.getuploader.com/autohotkeyl/
簡易スクリプト掲示板
https://pastebin.com/
■その他のテンプレ(5chのURL規制が厳しいのでpastebinに退避しました)
https://pastebin.com/raw/bWipuNmt
AutoHotkey スレッド part30 IDのみ
■ このスレッドは過去ログ倉庫に格納されています
2022/02/08(火) 18:38:19.33ID:UTRGyCNl0
353名無しさん@お腹いっぱい。
2023/08/07(月) 16:07:59.97ID:z0wbPqBa0 右クリックを長押しするとクリック連打、右クリックを押しながらホイールダウンでクリック、
それ以外はエスケープになるというスクリプトです。
分けて書くと別々に動いてしまうのでそれを避けるようにしています。
それ以外はエスケープになるというスクリプトです。
分けて書くと別々に動いてしまうのでそれを避けるようにしています。
2023/08/07(月) 16:27:38.76ID:AjxfGTno0
>>352
確かにそういう挙動をしめすね。ただ、
Hotkeys - Definition & Usage | AutoHotkey
https://www.autohotkey.com/docs/v1/Hotkeys.htm#Wheel
> Finally, since mouse wheel hotkeys generate only down-events
> (never up-events), they cannot be used as key-up hotkeys.
という記述が何か関係しているのかも。
もしくは(この記述絡みで)一度ホイールを動かすとAHKの内部的なフラグが
立ちっぱなしになっている?
確かにそういう挙動をしめすね。ただ、
Hotkeys - Definition & Usage | AutoHotkey
https://www.autohotkey.com/docs/v1/Hotkeys.htm#Wheel
> Finally, since mouse wheel hotkeys generate only down-events
> (never up-events), they cannot be used as key-up hotkeys.
という記述が何か関係しているのかも。
もしくは(この記述絡みで)一度ホイールを動かすとAHKの内部的なフラグが
立ちっぱなしになっている?
2023/08/07(月) 16:37:16.17ID:AjxfGTno0
なんか既視感があるなぁ、と思ったらワシも右クリック&ホイールアップ・
ダウンなスクリプトを組んだことあるわw
そのときは
~RButton & WheelUp::
~RButton & WheelDown::
でやってたな。
他に
WheelUp::
WheelDown::
と
~RButton::
なホットキースクリプトも同時にやってたけど、誤爆した記憶はないな。
全部 MouseGetPos で位置と id を取得して、それを以て処理してる。
ダウンなスクリプトを組んだことあるわw
そのときは
~RButton & WheelUp::
~RButton & WheelDown::
でやってたな。
他に
WheelUp::
WheelDown::
と
~RButton::
なホットキースクリプトも同時にやってたけど、誤爆した記憶はないな。
全部 MouseGetPos で位置と id を取得して、それを以て処理してる。
356名無しさん@お腹いっぱい。
2023/08/07(月) 17:00:56.80ID:z0wbPqBa0 自分も最初
~RButton::
~RButton & WheelUp::
~RButton & WheelDown::
でやってたんですが、それだと右クリックを離した瞬間に
~RButton::が動き出してしまうんですよね……
無効にしたり同時に動かなくする処理があればいいんですが;。;
~RButton::
~RButton & WheelUp::
~RButton & WheelDown::
でやってたんですが、それだと右クリックを離した瞬間に
~RButton::が動き出してしまうんですよね……
無効にしたり同時に動かなくする処理があればいいんですが;。;
2023/08/07(月) 18:56:52.04ID:AjxfGTno0
>>356
離した時じゃなくて押した時ちゃう?右クリで ~RButton:: へ行って、
同時にホイールを触ると~RButton & WheelUp/Down:: が動き出す。
ワシの場合は、~RButton:: の処理内容が右ダブルクリック。
設定時間内にダブルクリックを検出しなければ何もせずに終了、と
していたので特に問題は起きていない。
そこまでテストコードを書いていないからできるかどうか自信ないけれど、
~RButton:: 内に WheelUp/Down のチェックを入れるとかで
回避できそうではある。
離した時じゃなくて押した時ちゃう?右クリで ~RButton:: へ行って、
同時にホイールを触ると~RButton & WheelUp/Down:: が動き出す。
ワシの場合は、~RButton:: の処理内容が右ダブルクリック。
設定時間内にダブルクリックを検出しなければ何もせずに終了、と
していたので特に問題は起きていない。
そこまでテストコードを書いていないからできるかどうか自信ないけれど、
~RButton:: 内に WheelUp/Down のチェックを入れるとかで
回避できそうではある。
358名無しさん@お腹いっぱい。
2023/08/08(火) 00:02:10.85ID:2tx9nkkk0 ~RButton::
KeyWait, RButton, T1
If (ErrorLevel)
{
While GetKeyState("RButton", "P")
{
Click
Sleep, 20
}
}
else
{
Send, {Escape}
}
return
~RButton & WheelUp::
{
Sleep, 500
Click
}
return
~RButton & WheelDown::
{
Sleep, 1000
Click
}
return
処理内容は簡略化されてますがこんな感じです。
右クリックしながらホイールを動かすとクリックが処理されて、その後右クリックを離した所でエスケープが入力されてしまいます。
それを防ぐために~RButton::の中でホイール状態を取得しようとした結果>>352。それぞれを独立して動作させたいのですが無理なんでしょうか(ヽ´ω`)
KeyWait, RButton, T1
If (ErrorLevel)
{
While GetKeyState("RButton", "P")
{
Click
Sleep, 20
}
}
else
{
Send, {Escape}
}
return
~RButton & WheelUp::
{
Sleep, 500
Click
}
return
~RButton & WheelDown::
{
Sleep, 1000
Click
}
return
処理内容は簡略化されてますがこんな感じです。
右クリックしながらホイールを動かすとクリックが処理されて、その後右クリックを離した所でエスケープが入力されてしまいます。
それを防ぐために~RButton::の中でホイール状態を取得しようとした結果>>352。それぞれを独立して動作させたいのですが無理なんでしょうか(ヽ´ω`)
2023/08/09(水) 03:34:35.28ID:xviYZMnK0
MouseGestureLなら簡単に出来そうだから本家でも出来るんじゃね
2023/08/09(水) 18:25:52.85ID:syUydIU00
スレッド周りの設定を変にいじってなければ
こんな感じで希望しているような動作になると思う
~RButton & WheelUp::IsWheelUp := True
~RButton & WheelDown::IsWheelDown := True
~RButton::
IsWheelUp := IsWheelDown := False
KeyWait, RButton, T1
if(IsWheelUp){
ToolTip, WheelUp
}else if(IsWheelDown){
ToolTip, WheelDown
}else if(ErrorLevel){
While(GetKeyState("RButton", "P")){
a++
ToolTip, % a
Sleep, 20
}
}else{
ToolTip, Escape
}
return
こんな感じで希望しているような動作になると思う
~RButton & WheelUp::IsWheelUp := True
~RButton & WheelDown::IsWheelDown := True
~RButton::
IsWheelUp := IsWheelDown := False
KeyWait, RButton, T1
if(IsWheelUp){
ToolTip, WheelUp
}else if(IsWheelDown){
ToolTip, WheelDown
}else if(ErrorLevel){
While(GetKeyState("RButton", "P")){
a++
ToolTip, % a
Sleep, 20
}
}else{
ToolTip, Escape
}
return
361名無しさん@お腹いっぱい。
2023/08/12(土) 00:09:18.32ID:O1uhjaQy02023/08/12(土) 00:12:17.13ID:bDvu5aai0
タブキーを押しながら C キーを押したのを
4に割り当てるにはどのように書けばいいんでしょうか?
4に割り当てるにはどのように書けばいいんでしょうか?
2023/08/12(土) 00:16:11.70ID:yq4dIsr+0
普通に入力されるキーをモディファイアにするんじゃない
2023/08/12(土) 06:13:36.00ID:nmj8+2WF0
"A"で指定してるのに
Error: Target window not found.
になるのは何なんだろう
Error: Target window not found.
になるのは何なんだろう
2023/08/12(土) 11:15:30.71ID:pQJSgS+a0
A じゃなく "A" で指定してるからじゃね?
実際のスクリプト見てないから分からんけど
実際のスクリプト見てないから分からんけど
2023/08/12(土) 11:32:35.55ID:nmj8+2WF0
"A"で合ってる
大半は動いて特定のウィンドウだけエラーになる
大半は動いて特定のウィンドウだけエラーになる
2023/08/12(土) 11:48:12.98ID:LsOfcGj10
だから"を抜けという話なの
2023/08/12(土) 11:57:58.01ID:ZMeXwxNY0
よかれと思って分かりやすい表記をするのはコード実行において難しい問題よね
若い頃コマンドラインの-- <set numbers>の<>を入れなくていいの解らず一日溶かしたことある
若い頃コマンドラインの-- <set numbers>の<>を入れなくていいの解らず一日溶かしたことある
2023/08/12(土) 12:07:58.71ID:nmj8+2WF0
"を抜くと
Warning: This variable appears to never be assigned a value.
そもそも実行できない
Warning: This variable appears to never be assigned a value.
そもそも実行できない
2023/08/12(土) 12:10:30.17ID:D5LFJTyY0
具体的に書かない奴はスルー
2023/08/12(土) 13:07:33.77ID:nmj8+2WF0
要は、アクティブウィンドウが無い、という状態になっている
そんなことはあるのか?
そんなことはあるのか?
2023/08/12(土) 16:33:19.42ID:srAYYviQ0
Release v2.0.5 · AutoHotkey/AutoHotkey
https://github.com/AutoHotkey/AutoHotkey/releases/tag/v2.0.5
https://github.com/AutoHotkey/AutoHotkey/releases/tag/v2.0.5
2023/08/13(日) 10:31:50.59ID:dS54wA3a0
https://www.autohotkey.com からv1.1落とそうとするとボタンが [Download v1.1 (deprecated)]となってるな、初めて気づいた
https://www.autohotkey.com/download/ の方は特に変わった様子無いけどv1.1はもう打ち止めってことかなあ(´・ω・`)
https://www.autohotkey.com/download/ の方は特に変わった様子無いけどv1.1はもう打ち止めってことかなあ(´・ω・`)
2023/08/13(日) 23:17:51.19ID:wbZBZ9Ux0
アナウンスされてから半年以上たつ気がするけど
2023/08/15(火) 09:46:17.85ID:RO47lguz0
メニューを開いた瞬間に何故かフォーカスが外れて操作できないことがたまにあるけど、
何が原因なんだろう
何が原因なんだろう
2023/08/16(水) 03:18:07.49ID:L2eBlJqO0
>>371
ループで状態を取得しつづけていると、
たまにそのようなアクティブウィンドウがないかのような状態になることはありますね…
2.0にして気がついたんだけど、多分1.1の時はエラーにはならずに適当に済ませられていたのが、
厳密にエラーをスローするようになったという感じな気がする
そして"A"とAの違いは2.0と1.1の違いではないですかね
ループで状態を取得しつづけていると、
たまにそのようなアクティブウィンドウがないかのような状態になることはありますね…
2.0にして気がついたんだけど、多分1.1の時はエラーにはならずに適当に済ませられていたのが、
厳密にエラーをスローするようになったという感じな気がする
そして"A"とAの違いは2.0と1.1の違いではないですかね
2023/08/16(水) 06:23:05.41ID:B5Recerj0
"A"を参照する前にメニューを出しているので、メニューが閉じてから直前にアクティブだったウィンドウが
再びアクティブに戻るまでに一瞬の間がある
参照する前に一瞬sleepを入れるとエラーにならなくなった
再びアクティブに戻るまでに一瞬の間がある
参照する前に一瞬sleepを入れるとエラーにならなくなった
2023/08/18(金) 11:43:00.99ID:oTZ9q3EL0
メニューを2つ作っていて、片方は頻繁にフォーカスが外れるけど、もうひとつは外れたことがない
やってることは大差ないのに何が違うんだろう
やってることは大差ないのに何が違うんだろう
2023/08/18(金) 12:04:12.80ID:Q7ZhVJTA0
いいかげん独り言は余所でやれ
2023/08/18(金) 12:14:34.24ID:6chi+Qaa0
頑なにスクリプトを見せるの拒む限り自己解決するしかないだろうな
2023/08/18(金) 12:19:24.68ID:6chi+Qaa0
んんーなんかこのスレというか5ch重いような…書き込みボタン押してからページ反映まで5,6秒ほど掛かるう、オマ環かなあ(´・ω・`)
独り言スマン
独り言スマン
2023/08/18(金) 12:21:11.45ID:6chi+Qaa0
2023/08/18(金) 13:29:28.79ID:MXhu+9P00
>>381
今日遅いね
今日遅いね
2023/08/18(金) 13:41:02.30ID:oTZ9q3EL0
コードさえ見れば解決できるという自身はどこから出てくるんだ
解決できずに別スクリプトを起動してマウスでクリックしてフォーカスを戻してる人もいるくらいで、
多分今も直ってないahkのバグなんだろう
知りたいのは回避方法ではなく原因
解決できずに別スクリプトを起動してマウスでクリックしてフォーカスを戻してる人もいるくらいで、
多分今も直ってないahkのバグなんだろう
知りたいのは回避方法ではなく原因
2023/08/18(金) 13:51:37.99ID:yGxZYDcS0
5chは攻撃受けてるから重い
2023/08/18(金) 13:54:35.13ID:yGxZYDcS0
2023/08/18(金) 14:02:47.28ID:oTZ9q3EL0
ああ、menuね、あれはどうやっても駄目だったよ、とか、
こういう上手い方法があったよとか、知見のある人が反応すればいいんだよ
何も情報を持ってないのにとにかく何か回答しなければという質問スレによく巣食ってる癌は、
S/N比下げるだけなのでミュートしてて欲しい
こういう上手い方法があったよとか、知見のある人が反応すればいいんだよ
何も情報を持ってないのにとにかく何か回答しなければという質問スレによく巣食ってる癌は、
S/N比下げるだけなのでミュートしてて欲しい
2023/08/18(金) 15:13:36.08ID:HkO0/SET0
2023/08/18(金) 15:36:46.27ID:Z7SU+ZYe0
2023/08/19(土) 19:26:49.91ID:37zB30Y00
winキーとか何かが押しっぱなしになって、押して離してをやっても直らなくて、
一旦ahkを終了して再度立ち上げないとどうしようもない、というケースにたまに遭遇する
その手続き自体をahkからやれないもんか
一旦ahkを終了して再度立ち上げないとどうしようもない、というケースにたまに遭遇する
その手続き自体をahkからやれないもんか
2023/08/19(土) 19:52:39.80ID:PhJHVGEu0
監視させるしかないんじゃないの
down状態が5秒続いたら、強制的にupにするとか
それが利かないくらいバグってたら、スクリプト再起動に移行するとか
明らかにdown状態なのに、up返しちゃうくらいおかしいなら
別のアプローチが必要だけど
down状態が5秒続いたら、強制的にupにするとか
それが利かないくらいバグってたら、スクリプト再起動に移行するとか
明らかにdown状態なのに、up返しちゃうくらいおかしいなら
別のアプローチが必要だけど
2023/08/19(土) 20:03:51.32ID:k3nzvT+I0
>>390
この過去スレにあったやつ(だったかどうかは忘れた)
Alt・Ctrl・Shiftキー押されっぱなし対処.ahk
Send, {Alt Up}{LAlt Up}{RAlt Up}{Ctrl Up}{LCtrl Up}{RCtrl Up}{Shift Up}{LShift Up}{RShift Up}{LWin Up}{RWin Up}{LButton Up}{RButton Up}{MButton Up}
Send, {ESC}
変だなぁと思ったら実行
オレはいつもこれで直してる、常駐してるahkは終了しなくても良いと思うよ
この過去スレにあったやつ(だったかどうかは忘れた)
Alt・Ctrl・Shiftキー押されっぱなし対処.ahk
Send, {Alt Up}{LAlt Up}{RAlt Up}{Ctrl Up}{LCtrl Up}{RCtrl Up}{Shift Up}{LShift Up}{RShift Up}{LWin Up}{RWin Up}{LButton Up}{RButton Up}{MButton Up}
Send, {ESC}
変だなぁと思ったら実行
オレはいつもこれで直してる、常駐してるahkは終了しなくても良いと思うよ
2023/08/19(土) 20:09:59.50ID:37zB30Y00
ESCは何で押すの?
2023/08/19(土) 20:23:47.88ID:37zB30Y00
{RButton Up}が入ってると、右クリックが押されちゃうな
2023/08/20(日) 00:05:33.73ID:uFCBx9Pl0
reboot
2023/08/20(日) 07:46:57.56ID:+NO2vz+70
>>390
その辺のキーが押しっぱになる現象って、CapsLock を Ctrl と入れ替えを
やってるとか?AHK はもちろん PowerToys でやっても起こる(多分、他の
リマップ系でも)。
それならこれがおすすめ。今のところ押しっぱ現象も他の妙な副作用もない。
※ただしキーボードから CapsLock の機能がなくなるw
Ctrl2cap - Sysinternals | Microsoft Learn
https://learn.microsoft.com/ja-jp/sysinternals/downloads/ctrl2cap
その辺のキーが押しっぱになる現象って、CapsLock を Ctrl と入れ替えを
やってるとか?AHK はもちろん PowerToys でやっても起こる(多分、他の
リマップ系でも)。
それならこれがおすすめ。今のところ押しっぱ現象も他の妙な副作用もない。
※ただしキーボードから CapsLock の機能がなくなるw
Ctrl2cap - Sysinternals | Microsoft Learn
https://learn.microsoft.com/ja-jp/sysinternals/downloads/ctrl2cap
2023/08/21(月) 06:52:36.46ID:ynMBgfwj0
おお、MS純正デバイスドライバなんだ
Capsはモディファイアに変更してるけど、定番のChangeKeyでレジストリを変えてる
押しっぱなし現象はみんなフック同士の干渉が原因だと思っていて、根本的には避けられない
デバイスドライバ版ahkみたいなのがシェアウェアで出たら買うのに
現状そういうのはのどか一択で、書きやすさはahk v2が勝ってる
Capsはモディファイアに変更してるけど、定番のChangeKeyでレジストリを変えてる
押しっぱなし現象はみんなフック同士の干渉が原因だと思っていて、根本的には避けられない
デバイスドライバ版ahkみたいなのがシェアウェアで出たら買うのに
現状そういうのはのどか一択で、書きやすさはahk v2が勝ってる
2023/08/26(土) 13:40:30.41ID:e6Z469D70
Sticky Keys対策でShiftやCtrlを押し終わるたびにShiftを5回空打ちさせてる
2023/08/29(火) 15:17:03.33ID:Jbveauwv0
右下ろのキーを押した時_にしたくて
¥::
send,+¥
return
としたのですが変わらず¥で出ます
¥::+¥
としても変わらず
簡単な事だと思うのですが、何故出来ないのかヒント頂けないでしょうか?
よろしくお願いします
¥::
send,+¥
return
としたのですが変わらず¥で出ます
¥::+¥
としても変わらず
簡単な事だと思うのですが、何故出来ないのかヒント頂けないでしょうか?
よろしくお願いします
2023/08/29(火) 15:18:53.87ID:Jbveauwv0
あ、V1です
401399
2023/08/29(火) 15:31:39.18ID:Jbveauwv0 すみません、検索で例を色々見てたら丁度見付かりました
vkE2::_
で出来る様になりました
スレ汚し失礼しました
vkE2::_
で出来る様になりました
スレ汚し失礼しました
2023/08/29(火) 15:32:11.68ID:X8K0rgTu0
\は右上のキーだからろの方はキーコードで指定しないとダメ
sc073::_
sc073::_
2023/08/30(水) 17:19:47.77ID:Ryl/SOdu0
Release v2.0.6 · AutoHotkey/AutoHotkey
https://github.com/AutoHotkey/AutoHotkey/releases/tag/v2.0.6
https://github.com/AutoHotkey/AutoHotkey/releases/tag/v2.0.6
2023/08/30(水) 18:11:41.37ID:oxpZC/QU0
v2.0.6
2023/08/31(木) 22:40:51.14ID:vlAyug6p0
yキーを押してもSend, abcが送信されません。
何が駄目なんでしょうか。
Send, abcの処理はsub.ahk側でしたいです。
;main.ahk------------------
global test
y::
Sleep, 1000
test := "yes"
Sleep, 1000
Return
;sub.ahk------------------
#Persistent
#Include main.ahk
SetTimer, mitukeru, 100
mitukeru:
if (test = "yes") {
Send, abc
}
Return
何が駄目なんでしょうか。
Send, abcの処理はsub.ahk側でしたいです。
;main.ahk------------------
global test
y::
Sleep, 1000
test := "yes"
Sleep, 1000
Return
;sub.ahk------------------
#Persistent
#Include main.ahk
SetTimer, mitukeru, 100
mitukeru:
if (test = "yes") {
Send, abc
}
Return
2023/09/01(金) 02:23:36.87ID:6AcEfkHF0
y::
を見てみなよ
処理内容は、ただ代入しているだけだ
次にSetTimerでサブルーチンに飛ばさないと
ただこのタイマーいつ終わるの?
終了処理が何もないようだけど
を見てみなよ
処理内容は、ただ代入しているだけだ
次にSetTimerでサブルーチンに飛ばさないと
ただこのタイマーいつ終わるの?
終了処理が何もないようだけど
2023/09/01(金) 07:19:25.96ID:qhzzshke0
会社のノートPCにmenuキーが無いのが不便すぎる
フリーソフトとか禁止なので、regeditだけで解決したった
フリーソフトとか禁止なので、regeditだけで解決したった
2023/09/01(金) 07:37:42.70ID:dbcMt4Cv0
>>408
スレ違い
スレ違い
2023/09/01(金) 12:03:41.12ID:fxBmgcCa0
2023/09/01(金) 12:08:50.00ID:fxBmgcCa0
すみません。まだ出来てないかもです。
がんばってみます。
がんばってみます。
2023/09/01(金) 12:12:26.82ID:qhzzshke0
っていうか、複数のahk間でプロセス間通信しようとしてるんでしょ
そんなの無理だよ
そんなの無理だよ
2023/09/01(金) 12:33:22.63ID:YJ2o2ktm0
幾つか突っ込みどころあるが、とりあえず #Include行の位置が悪いな
まあ、#Include行の位置を直しただけじゃまともに動かん…と言うか変数「test」をクリアする行を加えないと暴走するよ
まあ、#Include行の位置を直しただけじゃまともに動かん…と言うか変数「test」をクリアする行を加えないと暴走するよ
2023/09/01(金) 12:39:44.02ID:fxBmgcCa0
2023/09/01(金) 12:43:11.43ID:fxBmgcCa0
2023/09/01(金) 12:44:19.26ID:6AcEfkHF0
sub.ahkってのをライブラリとして使ってるんじゃないの?
includeが逆でなんだかなあって感じだけど
本来は関数化した方が遥かに融通性が高いんだけど
まあ学習の順序があるから
includeが逆でなんだかなあって感じだけど
本来は関数化した方が遥かに融通性が高いんだけど
まあ学習の順序があるから
2023/09/01(金) 12:57:45.45ID:qhzzshke0
includeするならプロセスは1つだけど
両方動かすんじゃないの?
両方動かすんじゃないの?
2023/09/01(金) 19:29:28.33ID:aCFUmNnL0
v2で
a := 1
b := &a
%b% := 2
と同じように
tmp := {a:1}
b := &tmp.a
%b% := 2
でbにtmp.aのVarRefがほしいんだけど&tmp.aでエラーが出ちゃう
これどうやったらいいの?
a := 1
b := &a
%b% := 2
と同じように
tmp := {a:1}
b := &tmp.a
%b% := 2
でbにtmp.aのVarRefがほしいんだけど&tmp.aでエラーが出ちゃう
これどうやったらいいの?
2023/09/01(金) 20:46:26.25ID:0/jYgXFo0
>>418
直接にはできない。
関数 - 定義と使用法|AutoHotkey v2
https://ahkscript.github.io/ja/docs/v2/Functions.htm#ByRef
直接にはできない。
関数 - 定義と使用法|AutoHotkey v2
https://ahkscript.github.io/ja/docs/v2/Functions.htm#ByRef
2023/09/01(金) 21:17:49.17ID:aCFUmNnL0
>>419
仕様でできなかったんですね
オブジェクトの方を持ち歩くようにします
ありがとうございました
> 既知の制限事項:
> オブジェクトのプロパティ(foo.barなど)やA_Clipboardなどの 組み込み変数に対してVarRefを構成することはできないので、これらをByRefで渡すことはできない。
仕様でできなかったんですね
オブジェクトの方を持ち歩くようにします
ありがとうございました
> 既知の制限事項:
> オブジェクトのプロパティ(foo.barなど)やA_Clipboardなどの 組み込み変数に対してVarRefを構成することはできないので、これらをByRefで渡すことはできない。
2023/09/02(土) 17:26:28.26ID:xDVNYmLx0
何か V2.0.4/2.0.6 でエンバグしてるんやって。
スクリプトが動かんようになったって人はアップデートしてみるのも手。
Release v2.0.7 · AutoHotkey/AutoHotkey
https://github.com/AutoHotkey/AutoHotkey/releases/tag/v2.0.7
スクリプトが動かんようになったって人はアップデートしてみるのも手。
Release v2.0.7 · AutoHotkey/AutoHotkey
https://github.com/AutoHotkey/AutoHotkey/releases/tag/v2.0.7
2023/09/02(土) 18:33:36.19ID:X8oxdeT80
v2.0.7
2023/09/03(日) 14:39:01.92ID:dL6VhtA+0
ヒアドキュメントの仕様が変わってわけわからん
ver.1の頃は
MsgBox, % "
(
さて、
あなたのバージョンは 「" A_AhkVersion "」ですわね。
オホホ
)"
でよかったのがver.2になってから
MsgBox("
(
さて、
あなたのバージョンは「
)"A_AhkVersion "
(
」ですわね。
オホホ
)")
とかしないといけなくなって可読性がー
ver.1の頃は
MsgBox, % "
(
さて、
あなたのバージョンは 「" A_AhkVersion "」ですわね。
オホホ
)"
でよかったのがver.2になってから
MsgBox("
(
さて、
あなたのバージョンは「
)"A_AhkVersion "
(
」ですわね。
オホホ
)")
とかしないといけなくなって可読性がー
2023/09/03(日) 15:01:38.43ID:8zusJ6RA0
理解しているのにわけわからん
とは、どういうことなのか?
長文の文字列は変数に格納するのが通例なんで
関数化されたmsgboxに直接使わなければいいんじゃね
とは、どういうことなのか?
長文の文字列は変数に格納するのが通例なんで
関数化されたmsgboxに直接使わなければいいんじゃね
2023/09/03(日) 15:20:17.21ID:0KBNlEKj0
v2 仕様やとこんな感じやろ(場合よって「"」の位置に気を使う必要がある)。
MsgBox "
(
Here Document,
HERE!!!
)"
MsgBox "
(
Here Document,
HERE!!!
)"
2023/09/03(日) 15:31:18.57ID:Xi/Z1aW+0
改行が意味持ってたり、括弧無しでもokだったり、未だに古臭い
v3に期待
v3に期待
2023/09/03(日) 15:39:07.37ID:0KBNlEKj0
変数絡みやとちょっと面倒くさいことになるかな?
%VarRef% なパターンやと埋め込めるみたいやけど。
MsgBox "
(
AutoHotkey version is`s
)" A_AhkVersion "
(
.
Here Document,
HERE!!!
)"
%VarRef% なパターンやと埋め込めるみたいやけど。
MsgBox "
(
AutoHotkey version is`s
)" A_AhkVersion "
(
.
Here Document,
HERE!!!
)"
2023/09/03(日) 16:01:47.82ID:0KBNlEKj0
ああ、v2 やと %VarRef% も埋め込まれへんみたい。
2023/09/03(日) 16:48:50.59ID:dL6VhtA+0
いやMsgBoxとの取り合わせが悪いとかじゃなくて
式を埋め込めなくなってるのが個人的に致命傷
%VarRef%もだめだしさ
あとオプション周りの挙動がだいぶ変わったように見えて混乱中
式を埋め込めなくなってるのが個人的に致命傷
%VarRef%もだめだしさ
あとオプション周りの挙動がだいぶ変わったように見えて混乱中
2023/09/03(日) 17:16:51.07ID:dL6VhtA+0
ヒアドキュメントに式を埋め込めて、実際に表示されるメッセージを想像しやすいのがよかったのに…
できるっぽい説明あったけど、実際の書き方がまるで理解できなかったし、いま読み返すと全然別の説明っぽい
> If ( or ) appears in the options of a potential continuation section (other than as part of the Join option), the overall line is not interpreted as the start of a continuation section. In other words, lines like (x.y)() and (x=y) && z() are interpreted as expressions. A multi-line expression can also begin with an open-parenthesis at the start of a line, provided that there is at least one other ( or ) on the first physical line. For example, the entire expression could be enclosed with (( ... )).
> ( or ): If an opening or closing parenthesis appears to the right of the initial opening parenthesis (except as a parameter of the Join option), the line is reinterpreted as an expression instead of the beginning of a continuation section. This enables expressions like (x.y)[z]() to be used at the start of a line, and also allows multi-line expressions to start with a line like (( or (MyFunc(.
そしてこういうのに限ってサンプルがない。詰んだ。寝る
できるっぽい説明あったけど、実際の書き方がまるで理解できなかったし、いま読み返すと全然別の説明っぽい
> If ( or ) appears in the options of a potential continuation section (other than as part of the Join option), the overall line is not interpreted as the start of a continuation section. In other words, lines like (x.y)() and (x=y) && z() are interpreted as expressions. A multi-line expression can also begin with an open-parenthesis at the start of a line, provided that there is at least one other ( or ) on the first physical line. For example, the entire expression could be enclosed with (( ... )).
> ( or ): If an opening or closing parenthesis appears to the right of the initial opening parenthesis (except as a parameter of the Join option), the line is reinterpreted as an expression instead of the beginning of a continuation section. This enables expressions like (x.y)[z]() to be used at the start of a line, and also allows multi-line expressions to start with a line like (( or (MyFunc(.
そしてこういうのに限ってサンプルがない。詰んだ。寝る
2023/09/03(日) 18:24:58.98ID:lC0PTvot0
>>423
Format関数使えば多少見やすくなるかも
MsgBox(Format("
(
さて、
あなたのバージョンは「{1}」ですわね。
オホホ、{2}年ですわ。
)", A_AhkVersion, A_YYYY))
Format関数使えば多少見やすくなるかも
MsgBox(Format("
(
さて、
あなたのバージョンは「{1}」ですわね。
オホホ、{2}年ですわ。
)", A_AhkVersion, A_YYYY))
2023/09/03(日) 18:46:21.42ID:Xi/Z1aW+0
pythonでf文字列の実装が妙に遅かったのと同様に、
なんか埋め込むのを嫌う風習があるんだよな
便利なのはperlとかでとっくに判ってたのに
なんか埋め込むのを嫌う風習があるんだよな
便利なのはperlとかでとっくに判ってたのに
2023/09/03(日) 21:59:50.39ID:PW2pKi2Q0
2系の押しっぱ病はいつになったら治るんだ…
2023/09/03(日) 22:09:25.95ID:0KBNlEKj0
2023/09/03(日) 22:14:39.29ID:Xi/Z1aW+0
なんでもないビュアーがすごい行儀悪くキーをフックしてるみたいで、
それを起動した状態で他のソフトを使うと高確率で押しっぱなしになる
開いたまま他のことをしない、しか回避方法が無い
それを起動した状態で他のソフトを使うと高確率で押しっぱなしになる
開いたまま他のことをしない、しか回避方法が無い
2023/09/03(日) 22:38:34.74ID:8zusJ6RA0
そういうアプリはどんどん名前出していこうぜ
情報共有してこその掲示板なわけだし
情報共有してこその掲示板なわけだし
2023/09/04(月) 12:28:15.52ID:K09FILDQ0
epubビュアーのKinoppyだけどね
ahkからKinoppyを何か制御するでもなく、ただいるだけでいろいろおかしくなる
ahkからKinoppyを何か制御するでもなく、ただいるだけでいろいろおかしくなる
2023/09/04(月) 21:28:18.16ID:dQWiiGqe0
>>437 解決の参考にならんかもだが、Kinoppyをインストールして俺環で常駐しているMyScriptに下記のホットキーを追加し
メインアプリとビューアー起動した状態で他のアプリ色々起動したり、しばらく別のことやってたけど特に問題は発生しなかった
問題になりそうな点をあげるとclass名が独特でGUID部分が起動毎に変わるのと
ビューアーの方はExplorer等と同様にahk_exeではhwndが取得できなかったくらい
なのでこれらを含めたウィンドウ指定を直接じゃなくてもGroupやExcludeTitleなんかで行っているとおかしくなる
そうでないなら残念ながらおま環の可能性が高い
; 俺環での関係ありそうな設定
SetTitleMatchMode("RegEx")
InstallKeybdHook()
InstallMouseHook()
A_MenuMaskKey := "vkFF"
return
; メインアプリ
; Kinoppy for Windows
; ahk_class HwndWrapper[Kinoppy.exe;;feff14f8-8819-45a6-9cc5-5edbb2951528]
; ahk_exe Kinoppy.exe
#HotIf WinActive("Kinoppy for Windows ahk_class HwndWrapper\[Kinoppy.exe;; ahk_exe Kinoppy.exe")
XButton1:: MsgBox(WinGetTitle("A"))
LCtrl:: MsgBox(WinGetTitle("A"))
#HotIf
; ビューアー 本は最初から付いてた奴
; [1/160] scripta 18号(2011年冬号、紀伊國屋書店
; ahk_class HwndWrapper[Viewer20.exe;;5f512ab6-52a1-4bc8-8445-abdb7c67f500]
; ahk_exe Viewer20.exe
#HotIf WinActive("ahk_class HwndWrapper\[Viewer20.exe;;")
XButton1:: MsgBox(WinGetTitle("A"))
LCtrl:: MsgBox(WinGetTitle("A"))
#HotIf
メインアプリとビューアー起動した状態で他のアプリ色々起動したり、しばらく別のことやってたけど特に問題は発生しなかった
問題になりそうな点をあげるとclass名が独特でGUID部分が起動毎に変わるのと
ビューアーの方はExplorer等と同様にahk_exeではhwndが取得できなかったくらい
なのでこれらを含めたウィンドウ指定を直接じゃなくてもGroupやExcludeTitleなんかで行っているとおかしくなる
そうでないなら残念ながらおま環の可能性が高い
; 俺環での関係ありそうな設定
SetTitleMatchMode("RegEx")
InstallKeybdHook()
InstallMouseHook()
A_MenuMaskKey := "vkFF"
return
; メインアプリ
; Kinoppy for Windows
; ahk_class HwndWrapper[Kinoppy.exe;;feff14f8-8819-45a6-9cc5-5edbb2951528]
; ahk_exe Kinoppy.exe
#HotIf WinActive("Kinoppy for Windows ahk_class HwndWrapper\[Kinoppy.exe;; ahk_exe Kinoppy.exe")
XButton1:: MsgBox(WinGetTitle("A"))
LCtrl:: MsgBox(WinGetTitle("A"))
#HotIf
; ビューアー 本は最初から付いてた奴
; [1/160] scripta 18号(2011年冬号、紀伊國屋書店
; ahk_class HwndWrapper[Viewer20.exe;;5f512ab6-52a1-4bc8-8445-abdb7c67f500]
; ahk_exe Viewer20.exe
#HotIf WinActive("ahk_class HwndWrapper\[Viewer20.exe;;")
XButton1:: MsgBox(WinGetTitle("A"))
LCtrl:: MsgBox(WinGetTitle("A"))
#HotIf
2023/09/05(火) 23:11:23.66ID:uAjrKV030
質問なのですが ctrl+マウス左クリック で 左クリック を送りたいのですが
^lbutton::
mouseclick,left, , , , 0
return
と書いても左クリック単発ではなくctrl+左クリックになってしまいます
どのように書けばいいですか?
^lbutton::
mouseclick,left, , , , 0
return
と書いても左クリック単発ではなくctrl+左クリックになってしまいます
どのように書けばいいですか?
2023/09/05(火) 23:27:03.44ID:fMQvsfZE0
Send,{LButton}
2023/09/05(火) 23:29:11.87ID:08fzEwC60
>>439
MouseClick - Syntax & Usage | AutoHotkey
https://www.autohotkey.com/docs/v1/lib/MouseClick.htm
MouseClick - Syntax & Usage | AutoHotkey
https://www.autohotkey.com/docs/v1/lib/MouseClick.htm
2023/09/05(火) 23:50:46.44ID:uAjrKV030
>>440, 441
ありがとうございます
試したところそのスクリプトでだいたいは上手くいくのですが10回に1回ぐらいはctrl+左クリックになります
具体的にはブラウザのリンクをこのスクリプトをオンにしてctrl+左クリックするとだいたいは元のタブで開くのですが
10回に1回くらいは別タブで開いてしまいます(左クリックだと元タブでリンクが開き、ctrl+左クリックだと別タブで開く)。
これを防止するためにも ^lbutton:: の開始から終了までは強制的にctrlを押していない状態に出来ないでしょうか?
ありがとうございます
試したところそのスクリプトでだいたいは上手くいくのですが10回に1回ぐらいはctrl+左クリックになります
具体的にはブラウザのリンクをこのスクリプトをオンにしてctrl+左クリックするとだいたいは元のタブで開くのですが
10回に1回くらいは別タブで開いてしまいます(左クリックだと元タブでリンクが開き、ctrl+左クリックだと別タブで開く)。
これを防止するためにも ^lbutton:: の開始から終了までは強制的にctrlを押していない状態に出来ないでしょうか?
2023/09/05(火) 23:57:06.56ID:U/8+P8mP0
クリックする前に
Send {Ctrl Up}
でも書いておけば?
うまくいくかは知らんけど
Send {Ctrl Up}
でも書いておけば?
うまくいくかは知らんけど
2023/09/06(水) 00:04:12.54ID:9rLt8Dwp0
>>443
試したけどだめでした
https://keyboard-test.space/jp/
このサイトでキーの入力状態見てたら Send {Ctrl Up} の瞬間だけ ctrlの入力がオフになっても
次の瞬間またctrlが押された状態になるのでスクリプトが終わるまでずっと {Ctrl Up} の状態を保たないとだめそう
試したけどだめでした
https://keyboard-test.space/jp/
このサイトでキーの入力状態見てたら Send {Ctrl Up} の瞬間だけ ctrlの入力がオフになっても
次の瞬間またctrlが押された状態になるのでスクリプトが終わるまでずっと {Ctrl Up} の状態を保たないとだめそう
2023/09/06(水) 00:11:36.92ID:GGW0aUGl0
すごいサイトだな
ahkにも似たような機能あるけど
ahkにも似たような機能あるけど
2023/09/06(水) 07:15:27.62ID:Yei4EXvP0
Getkeystateってマウスもいけたっけ?
いけるなら物理的に離されてからup打つとか
いけるなら物理的に離されてからup打つとか
2023/09/06(水) 07:53:03.76ID:sYM0CPD00
>>442
Remarks に書いてあることまでちゃんと読んだ?
Remarks
This command uses the sending method set by SendMode.
The Click command is recommended over MouseClick because:
1. It automatically compensates when the left and right mouse buttons are
swapped via the control panel.
2. It is generally easier to use.
To perform a shift-click or control-click, use the Send command before and
after the operation as shown in these examples:
:
The SendPlay mode is able to successfully generate mouse events
in a broader variety of games than the other modes. In addition,
some applications and games may have trouble tracking the mouse
if it moves too quickly. The speed parameter or SetDefaultMouseSpeed
can be used to reduce the speed (in the default SendEvent mode only).
Some applications do not obey a ClickCount higher than 1 for the mouse wheel.
For them, use a Loop such as the following:
:
The BlockInput command can be used to prevent any physical mouse activity by the user from disrupting the simulated mouse events produced by the mouse commands. However, this is generally not needed
for the SendInput/Play modes because they automatically postpone
the user's physical mouse activity until afterward.
There is an automatic delay after every click-down and click-up of
the mouse (except for SendInput mode and for turning the mouse wheel).
Use SetMouseDelay to change the length of the delay.
Remarks に書いてあることまでちゃんと読んだ?
Remarks
This command uses the sending method set by SendMode.
The Click command is recommended over MouseClick because:
1. It automatically compensates when the left and right mouse buttons are
swapped via the control panel.
2. It is generally easier to use.
To perform a shift-click or control-click, use the Send command before and
after the operation as shown in these examples:
:
The SendPlay mode is able to successfully generate mouse events
in a broader variety of games than the other modes. In addition,
some applications and games may have trouble tracking the mouse
if it moves too quickly. The speed parameter or SetDefaultMouseSpeed
can be used to reduce the speed (in the default SendEvent mode only).
Some applications do not obey a ClickCount higher than 1 for the mouse wheel.
For them, use a Loop such as the following:
:
The BlockInput command can be used to prevent any physical mouse activity by the user from disrupting the simulated mouse events produced by the mouse commands. However, this is generally not needed
for the SendInput/Play modes because they automatically postpone
the user's physical mouse activity until afterward.
There is an automatic delay after every click-down and click-up of
the mouse (except for SendInput mode and for turning the mouse wheel).
Use SetMouseDelay to change the length of the delay.
448439
2023/09/06(水) 12:17:42.07ID:9rLt8Dwp0 以下で問題無く動くこと確認しました
^lbutton::
BlockInput, on
send, {click, left}
BlockInput, off
return
しかしBlockInput, onが管理者権限でないと機能しないので使用はためらっています
^lbutton::
BlockInput, on
send, {click, left}
BlockInput, off
return
しかしBlockInput, onが管理者権限でないと機能しないので使用はためらっています
2023/09/06(水) 12:58:50.79ID:ltUQDciW0
>>448
ブラウザ何使ってるか知らんけど、chrome(chromium系)ならchromeのwebストアで「open link same tab」で検索するとやりたい系の拡張出てくるから拡張導入で実現すれば?
ブラウザ何使ってるか知らんけど、chrome(chromium系)ならchromeのwebストアで「open link same tab」で検索するとやりたい系の拡張出てくるから拡張導入で実現すれば?
2023/09/06(水) 13:01:25.15ID:ltUQDciW0
2023/09/06(水) 18:44:01.82ID:Yb6yqz+60
>>448
要はCtrlが物理的に押し下げられている間に発生するキーリピートを止めればいいので下記のような方法でもできるが
これだとKeyNameと同名の既存のホットキーがある場合上書きしてしまうため、既存のホットキーをOnにし直す必要がある
あと >>444 のサイトは物理キーと論理キーの区別がされてないのでこの様なケースではテストして使うには不適切だと思うぞ
^LButton::
Hotkey, LCtrl, disable_key, On
Hotkey, RCtrl, disable_key, On
Send, {LButton}
Hotkey, LCtrl, disable_key, Off
Hotkey, RCtrl, disable_key, Off
return
disable_key:
return
要はCtrlが物理的に押し下げられている間に発生するキーリピートを止めればいいので下記のような方法でもできるが
これだとKeyNameと同名の既存のホットキーがある場合上書きしてしまうため、既存のホットキーをOnにし直す必要がある
あと >>444 のサイトは物理キーと論理キーの区別がされてないのでこの様なケースではテストして使うには不適切だと思うぞ
^LButton::
Hotkey, LCtrl, disable_key, On
Hotkey, RCtrl, disable_key, On
Send, {LButton}
Hotkey, LCtrl, disable_key, Off
Hotkey, RCtrl, disable_key, Off
return
disable_key:
return
2023/09/06(水) 20:22:25.18ID:X26chPwY0
数日パソコンつけっぱにしたら暴走する事ってありますか?
昨日から入力で文字出なかったり重く感じて来たと思ったら今日「っっっっっっっっ」以上の連打状態になったり日本語オンオフが連打状態になったりして、文字入力関係で何かあるとすればこれだけかなって
パソコン再起動で直ったんですがおま環でしょうか?
それか何か記述がおかしくて影響する事とか
ただ今まで問題無くここ数日で追記した事もありません
Win11
V1
昨日から入力で文字出なかったり重く感じて来たと思ったら今日「っっっっっっっっ」以上の連打状態になったり日本語オンオフが連打状態になったりして、文字入力関係で何かあるとすればこれだけかなって
パソコン再起動で直ったんですがおま環でしょうか?
それか何か記述がおかしくて影響する事とか
ただ今まで問題無くここ数日で追記した事もありません
Win11
V1
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】中国、水産物輸入停止と通達 「処理水」理由、日本政府へ ★5 [おっさん友の会★]
- 【速報】中国、水産物輸入停止と通達 「処理水」理由、日本政府へ ★6 [おっさん友の会★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 [ぐれ★]
- 中国側が首相答弁の撤回要求、日本側拒否★7 [夜のけいちゃん★]
- NHK会長 新語・流行語大賞ノミネート「オールドメディア」に反論「言われる筋合いはない」「新しいメディアだと思っている」 [muffin★]
- 【速報】 米大使「はっきりさせておこう、米国は尖閣諸島含め日本の防衛に全面コミット、中国がどうしようが変わらない」 [お断り★]
- 【総裁選】記者「進次郎メモ見過ぎ」高市早苗「w」小泉進次郎「責任ある者は適切な慎重さを備えるべき」 [175344491]
- 【速報】高市首相「つい言い過ぎた」 存立危機事態の答弁について [237216734]
- 【悲報】トランプおやびん、高市有事にダンマリ [834922174]
- 【速報】中国、水産物輸入停止★2 [989870298]
- 【高市訃報】ホタテ業者、死亡😇😇😇 [573041775]
- 中国、アメリカ産大豆を早速過去最大の規模でお買い上げ。トランプさん「中国との関係は非常に良好である」【高市悲報】 [709039863]
