元々が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のみ
レス数が1000を超えています。これ以上書き込みはできません。
2022/02/08(火) 18:38:19.33ID:UTRGyCNl0
2024/01/21(日) 19:30:52.63ID:Bmy11SrJ0
>>946
24インチFHD2台を±90度ピボットさせて、2160x1920
24インチFHD2台を±90度ピボットさせて、2160x1920
2024/01/21(日) 19:46:10.39ID:7DJqWtUs0
そんな感じで、正方形のディスプレイが理想なんだよな
縦に短いと折角フットプリントを都合しても、全然活かせない
ディスプレイの中の各ウインドウも正方形が理想
うちのブラウザとかエディタとかファイラーとかexcelとかはみんな正方形
縦に短いと折角フットプリントを都合しても、全然活かせない
ディスプレイの中の各ウインドウも正方形が理想
うちのブラウザとかエディタとかファイラーとかexcelとかはみんな正方形
2024/01/21(日) 20:34:48.40ID:LMayoe6B0
縦に長いと首が疲れないか?
2024/01/21(日) 20:42:12.32ID:Bmy11SrJ0
縦1920無いと、スマホ用ページしか作ってない糞サイトが見辛い
2024/01/21(日) 20:49:33.68ID:7DJqWtUs0
VDT作業的には、見上げる姿勢は良くないんだよな
まっすぐ前を見てディスプレイの上端が見える配置がいい
縦の長さは下へ延ばす
つってもキーボードより下は不自然なので、高さ60cmくらいに限界がある
縦横60cmの33.4インチディスプレイ
まっすぐ前を見てディスプレイの上端が見える配置がいい
縦の長さは下へ延ばす
つってもキーボードより下は不自然なので、高さ60cmくらいに限界がある
縦横60cmの33.4インチディスプレイ
2024/01/21(日) 23:50:41.88ID:NKXVHeIo0
AHK v2です。
#HotIf WinActive()の動作が想像と違ったので助けて欲しいです。
Deleteキー押下時、以下のようにしたいです。
・GroupAに属するアプリ操作時は、MyFunc()を実行。
・GroupBに属するアプリ操作時は、Enterキーを送信。
(1)の例では、GroupA操作時もGroupB操作時も、MyFunc()が実行されてしまいました。
【(1)】
#HotIf WinActive("ahk_group" GroupA)
{
Delete::MyFunc()
}
#HotIf
#HotIf WinActive("ahk_group" GroupB)
{
Delete::Send("{Enter}")
}
#HotIf
#HotIf WinActive()の動作が想像と違ったので助けて欲しいです。
Deleteキー押下時、以下のようにしたいです。
・GroupAに属するアプリ操作時は、MyFunc()を実行。
・GroupBに属するアプリ操作時は、Enterキーを送信。
(1)の例では、GroupA操作時もGroupB操作時も、MyFunc()が実行されてしまいました。
【(1)】
#HotIf WinActive("ahk_group" GroupA)
{
Delete::MyFunc()
}
#HotIf
#HotIf WinActive("ahk_group" GroupB)
{
Delete::Send("{Enter}")
}
#HotIf
2024/01/21(日) 23:50:52.97ID:NKXVHeIo0
(2)の例では、GroupA操作時もGroupB操作時も、Delete::Send("{Enter}")が実行されてしまいました。
【(2)】
#HotIf WinActive("ahk_group" GroupB)
{
Delete::Send("{Enter}")
}
#HotIf
#HotIf WinActive("ahk_group" GroupA)
{
Delete::MyFunc()
}
#HotIf
(3)の例では、GroupA操作時もGroupB操作時も、MyFunc()が実行されてしまいました。
【(3)】
Delete::
{
if WinActive("ahk_group" GroupA)
{
MyFunc()
}
else if WinActive("ahk_group" GroupB)
{
Send("{Enter}")
}
}
【(2)】
#HotIf WinActive("ahk_group" GroupB)
{
Delete::Send("{Enter}")
}
#HotIf
#HotIf WinActive("ahk_group" GroupA)
{
Delete::MyFunc()
}
#HotIf
(3)の例では、GroupA操作時もGroupB操作時も、MyFunc()が実行されてしまいました。
【(3)】
Delete::
{
if WinActive("ahk_group" GroupA)
{
MyFunc()
}
else if WinActive("ahk_group" GroupB)
{
Send("{Enter}")
}
}
2024/01/22(月) 00:12:55.26ID:wwZIOroE0
ahk_group って使わないけど、そういう使い方できるの?
2024/01/22(月) 00:28:48.39ID:tIDZAczD0
v2使ってないから検証できないけど、v2のリファレンスで「#HotIf」の項目見てみたら
#HotIf WinActive("ahk_group MyGroup")
↑こうなってるから後ろの「"」の場所違うような・・・
#HotIf WinActive("ahk_group MyGroup")
↑こうなってるから後ろの「"」の場所違うような・・・
2024/01/22(月) 00:34:13.21ID:tIDZAczD0
>>960
あ、すまん
GroupAが変数ならv1だと↓すればいいんだけどもv2も同じならこれでいけるはず(ahk_groupの後ろの半角空白入れるのを忘れずに)
#HotIf WinActive("ahk_group " . MyGroup)
あ、すまん
GroupAが変数ならv1だと↓すればいいんだけどもv2も同じならこれでいけるはず(ahk_groupの後ろの半角空白入れるのを忘れずに)
#HotIf WinActive("ahk_group " . MyGroup)
2024/01/22(月) 00:36:25.55ID:bKQFDm5J0
それは変数の連結。
MyGroupっていう文字列を指定したいなら "" 内で良いけど別途MyGroup変数に文字列を入れてると思われる。
自分もahk_group使ったこと無いのでよくわからんが、
#HotIfは中括弧のスコープ無効だよね。ホットキーとして正しく認識してないんじゃないか?
あとはMyFunc()の定義をどこにどういうふうに書いてるのかね?
MyGroupっていう文字列を指定したいなら "" 内で良いけど別途MyGroup変数に文字列を入れてると思われる。
自分もahk_group使ったこと無いのでよくわからんが、
#HotIfは中括弧のスコープ無効だよね。ホットキーとして正しく認識してないんじゃないか?
あとはMyFunc()の定義をどこにどういうふうに書いてるのかね?
2024/01/22(月) 01:06:39.70ID:3aIX8ca00
皆さん、ありがとうございます。
>>960
>>961さんのご指摘通り、"ahk_group"の部分が文字列、 GroupAやGroupBが変数で中身にアプリ名を表す文字列を入れています。
>>961
ドット連結の書き方も試してみましたが、結果は同じでした。WinActive部分がWinExistのような挙動をしていて、必ず一番上の条件で真になってその中身が実行されるような挙動です。
>>962
#HotIf WinActive("ahk_group" GroupX)の後の{}を外してみましたが、結果は同じでした。同じくWinActive部分がWinExistのような挙動をします。エディタの自動インデント対策のためデバッグ途中で付けてしまいましたが、確かに本来の書き方では{}は不要かもしれません。
MyFuncは、上の方でClassを定義していて、そこの関数を呼び出しています。複雑な処理のためここには書ききれませんが、GroupAもGroupBもMyFunc()の呼び出し自体には問題なく成功します。
>>960
>>961さんのご指摘通り、"ahk_group"の部分が文字列、 GroupAやGroupBが変数で中身にアプリ名を表す文字列を入れています。
>>961
ドット連結の書き方も試してみましたが、結果は同じでした。WinActive部分がWinExistのような挙動をしていて、必ず一番上の条件で真になってその中身が実行されるような挙動です。
>>962
#HotIf WinActive("ahk_group" GroupX)の後の{}を外してみましたが、結果は同じでした。同じくWinActive部分がWinExistのような挙動をします。エディタの自動インデント対策のためデバッグ途中で付けてしまいましたが、確かに本来の書き方では{}は不要かもしれません。
MyFuncは、上の方でClassを定義していて、そこの関数を呼び出しています。複雑な処理のためここには書ききれませんが、GroupAもGroupBもMyFunc()の呼び出し自体には問題なく成功します。
2024/01/22(月) 01:12:50.05ID:3aIX8ca00
ごめんなさい。
WinActive部分が本当にWinExistのような挙動をしているのか確実には分からないのですが、必ず一番上の条件で真になってその中身しか実行されないようです。
WinActive部分が本当にWinExistのような挙動をしているのか確実には分からないのですが、必ず一番上の条件で真になってその中身しか実行されないようです。
2024/01/22(月) 01:16:25.22ID:bKQFDm5J0
GroupAとGroupB、中身が指すものが重複してたりして
2024/01/22(月) 01:21:11.24ID:wrpkRwS00
https://ahkscript.github.io/ja/docs/v2/lib/GroupAdd.htm
グループ作成はこれ使ってる?
グループ作成はこれ使ってる?
2024/01/22(月) 01:26:22.88ID:tIDZAczD0
今さらだが>>961分かりにくかったので訂正
間違い → #HotIf WinActive("ahk_group " . MyGroup)
こういうこと言いたかった↓
GroupAに"MyGroup"と言う文字列が入ってるとする
#HotIf WinActive("ahk_group " . GroupA)
間違い → #HotIf WinActive("ahk_group " . MyGroup)
こういうこと言いたかった↓
GroupAに"MyGroup"と言う文字列が入ってるとする
#HotIf WinActive("ahk_group " . GroupA)
2024/01/22(月) 01:39:34.88ID:tIDZAczD0
>>963
しつこくてスマンが
>#HotIf WinActive("ahk_group" GroupX)
↓これでもダメ?
何回も言うようだけど、ahk_groupの後ろ( " の直前)の半角空白入れるのを忘れずに
#HotIf WinActive("ahk_group " . GroupX)
もう寝ます
しつこくてスマンが
>#HotIf WinActive("ahk_group" GroupX)
↓これでもダメ?
何回も言うようだけど、ahk_groupの後ろ( " の直前)の半角空白入れるのを忘れずに
#HotIf WinActive("ahk_group " . GroupX)
もう寝ます
2024/01/22(月) 01:54:34.18ID:wrpkRwS00
>>968
https://ahkscript.github.io/ja/docs/v2/misc/WinTitle.htm#ahk_group
のahk_ Criteriaにあるけど、空白は0個以上なんで無くてもいいらしいよ
https://ahkscript.github.io/ja/docs/v2/misc/WinTitle.htm#ahk_group
のahk_ Criteriaにあるけど、空白は0個以上なんで無くてもいいらしいよ
2024/01/22(月) 02:11:54.55ID:3aIX8ca00
>>965
ありがとうございます。
どうやらこれが原因でした。
(誤)
GroupA := "_"
GroupAdd(GroupA, "app1.exe")
GroupB := "_"
GroupAdd(GroupB, "app2.exe")
(改)
GroupA := "GroupA"
GroupAdd(GroupA, "app1.exe")
GroupB := "GroupB"
GroupAdd(GroupB, "app2.exe")
くだらない理由になってしまい申し訳ないのですが、変数が未初期化の状態だと表示されるエディタの警告が煩わしかったため、どちらのGroupも適当に"_"で初期化して中身が同じになってしまったことが原因のようでした。
ありがとうございます。
どうやらこれが原因でした。
(誤)
GroupA := "_"
GroupAdd(GroupA, "app1.exe")
GroupB := "_"
GroupAdd(GroupB, "app2.exe")
(改)
GroupA := "GroupA"
GroupAdd(GroupA, "app1.exe")
GroupB := "GroupB"
GroupAdd(GroupB, "app2.exe")
くだらない理由になってしまい申し訳ないのですが、変数が未初期化の状態だと表示されるエディタの警告が煩わしかったため、どちらのGroupも適当に"_"で初期化して中身が同じになってしまったことが原因のようでした。
2024/01/22(月) 02:34:34.58ID:3aIX8ca00
もう一つ期待した結果が得られないパターンが出てきました。
#HotIf WinActive()の記述順序によって結果が変わってしまいます。
【(4)】
GroupA := "GroupA"
GroupAdd(GroupA, "app1.exe")
#HotIf WinActive("ahk_group" . GroupA)
Delete::Send("a")
#HotIf
#HotIf WinActive("ahk_exe app2.exe")
Delete::Send("b")
#HotIf
上記の記述順序では下記の結果が得られますが、期待した結果ではありませんでした。
"ahk_exe app2.exe"はどのGroupにも属していません。
・GroupA
Delete -> Send("a")
・"ahk_exe app2.exe"
Delete -> Send("a")(※Send("b")を実行して欲しい!)
#HotIf WinActive()の記述順序によって結果が変わってしまいます。
【(4)】
GroupA := "GroupA"
GroupAdd(GroupA, "app1.exe")
#HotIf WinActive("ahk_group" . GroupA)
Delete::Send("a")
#HotIf
#HotIf WinActive("ahk_exe app2.exe")
Delete::Send("b")
#HotIf
上記の記述順序では下記の結果が得られますが、期待した結果ではありませんでした。
"ahk_exe app2.exe"はどのGroupにも属していません。
・GroupA
Delete -> Send("a")
・"ahk_exe app2.exe"
Delete -> Send("a")(※Send("b")を実行して欲しい!)
2024/01/22(月) 02:34:47.17ID:3aIX8ca00
【(5)】
GroupA := "GroupA"
GroupAdd(GroupA, "app1.exe")
#HotIf WinActive("ahk_exe app2.exe")
Delete::Send("b")
#HotIf
#HotIf WinActive("ahk_group" . GroupA)
Delete::Send("a")
#HotIf
上記の記述順序では下記の結果が得られ、期待した結果を得られました。
・GroupA
Delete -> Send("a")
・"ahk_exe app2.exe"
Delete -> Send("b")
GroupA := "GroupA"
GroupAdd(GroupA, "app1.exe")
#HotIf WinActive("ahk_exe app2.exe")
Delete::Send("b")
#HotIf
#HotIf WinActive("ahk_group" . GroupA)
Delete::Send("a")
#HotIf
上記の記述順序では下記の結果が得られ、期待した結果を得られました。
・GroupA
Delete -> Send("a")
・"ahk_exe app2.exe"
Delete -> Send("b")
2024/01/22(月) 02:55:02.22ID:bKQFDm5J0
GroupAdd(GroupA, "app1.exe")
↓
GroupAdd(GroupA, "ahk_exe app1.exe")
だったり?
↓
GroupAdd(GroupA, "ahk_exe app1.exe")
だったり?
2024/01/22(月) 08:49:08.17ID:85FxdUTx0
>>973
回答ありがとうございます。
GroupAdd(GroupA, "app1.exe")
としましたが、私の実際のコードではアプリの実行ファイル名ではなくアプリの実行ファイルのウィンドウタイトルを指定していました。
ウィンドウタイトルの場合は"ahk_exe"の記載は不要と認識していて、下記とするのがおそらく適切でした。
(誤)
GroupAdd(GroupA, "app1.exe")
(正)
GroupAdd(GroupA, "app1.exeのウィンドウタイトル")
つまり下記の①はウィンドウタイトルでの判定、②は実行ファイル名での判定になります。
①#HotIf WinActive("ahk_group" . GroupA)
②#HotIf WinActive("ahk_exe app2.exe")
②の"ahk_exe app2.exe"の部分ですが、こちらはウィンドウタイトルが可変する仕様のため、アプリの実行ファイル名を指定しています。
可変した際に多くのケースでGroupAのウィンドウタイトルが包含されたものになることに気付きました。
#HotIf WinActive()が何をもって真とするのか理解が不十分なのですが、もしウィンドウタイトルの部分一致でも真とする仕様なら②の中身の実行を想定していても①が実行されてしまうケースに納得できます。
今日時間がある時に#HotIf WinActiveの仕様について詳しく調べてみようと思います。ありがとうございます。
回答ありがとうございます。
GroupAdd(GroupA, "app1.exe")
としましたが、私の実際のコードではアプリの実行ファイル名ではなくアプリの実行ファイルのウィンドウタイトルを指定していました。
ウィンドウタイトルの場合は"ahk_exe"の記載は不要と認識していて、下記とするのがおそらく適切でした。
(誤)
GroupAdd(GroupA, "app1.exe")
(正)
GroupAdd(GroupA, "app1.exeのウィンドウタイトル")
つまり下記の①はウィンドウタイトルでの判定、②は実行ファイル名での判定になります。
①#HotIf WinActive("ahk_group" . GroupA)
②#HotIf WinActive("ahk_exe app2.exe")
②の"ahk_exe app2.exe"の部分ですが、こちらはウィンドウタイトルが可変する仕様のため、アプリの実行ファイル名を指定しています。
可変した際に多くのケースでGroupAのウィンドウタイトルが包含されたものになることに気付きました。
#HotIf WinActive()が何をもって真とするのか理解が不十分なのですが、もしウィンドウタイトルの部分一致でも真とする仕様なら②の中身の実行を想定していても①が実行されてしまうケースに納得できます。
今日時間がある時に#HotIf WinActiveの仕様について詳しく調べてみようと思います。ありがとうございます。
2024/01/22(月) 11:19:23.39ID:ZHKh8NqU0
2024/01/22(月) 11:25:37.97ID:wwZIOroE0
#HotIfの#でない版が欲しいんだけどな
なんでここはプリプロセッサのままなんだろう
なんでここはプリプロセッサのままなんだろう
2024/01/22(月) 11:43:55.16ID:d29CGPd00
>私の実際のコードではアプリの実行ファイル名ではなくアプリの実行ファイルのウィンドウタイトルを指定していました。
クズが
クズが
2024/01/22(月) 11:54:55.51ID:bKQFDm5J0
長いとコード全部貼れないので関係無いと思ってるとろを簡略化して貼るのは仕方のないことだと思うが、
関係無いと思ってた部分に原因があると第三者からは解らないんで簡略化したそのものを書き換えず実際に実行
してみたほうがいいね。切り分け方法の1つだと思う。
関係無いと思ってた部分に原因があると第三者からは解らないんで簡略化したそのものを書き換えず実際に実行
してみたほうがいいね。切り分け方法の1つだと思う。
2024/01/22(月) 11:58:32.86ID:wwZIOroE0
貼る時に簡略化するんじゃなくて、自分で原因究明する時にどんどん削っていく
ここまで要素化してもまだおかしいので見て見て見て、になる
ここまで要素化してもまだおかしいので見て見て見て、になる
2024/01/22(月) 12:59:50.02ID:wrpkRwS00
挙動がおかしいと思う時の質問・報告は
誰でも再現できる手順を添えるのが面倒でも一番いいってテンプレに足す?
誰でも再現できる手順を添えるのが面倒でも一番いいってテンプレに足す?
2024/01/22(月) 14:48:53.39ID:RJyJ9Z7a0
ハッタショは無理して回答側に回らなくていいぞ
迷惑だから
迷惑だから
2024/01/23(火) 11:46:35.67ID:pty1rkzy0
うめ
2024/01/23(火) 11:46:50.16ID:pty1rkzy0
うめ
2024/01/23(火) 11:47:06.52ID:pty1rkzy0
うめ
2024/01/23(火) 11:47:22.91ID:TsDB/+Jr0
うめ
2024/01/23(火) 11:47:35.35ID:TsDB/+Jr0
うめ
2024/01/23(火) 11:47:47.92ID:TsDB/+Jr0
うめ
2024/01/23(火) 11:48:01.02ID:wbNZg8y80
うめ
2024/01/23(火) 11:48:13.27ID:wbNZg8y80
うめ
2024/01/23(火) 11:48:26.13ID:wbNZg8y80
うめ
2024/01/23(火) 11:48:40.01ID:Rc83/6Vf0
うめ
2024/01/23(火) 11:48:52.58ID:Rc83/6Vf0
うめ
2024/01/23(火) 11:49:05.55ID:Rc83/6Vf0
うめ
2024/01/23(火) 11:49:18.63ID:KP2haNFj0
うめ
2024/01/23(火) 11:49:30.85ID:KP2haNFj0
うめ
2024/01/23(火) 11:49:43.24ID:KP2haNFj0
うめ
2024/01/23(火) 11:50:46.07ID:2mOaV5qN0
うめ
2024/01/23(火) 11:50:58.42ID:2mOaV5qN0
うめ
2024/01/23(火) 11:51:11.48ID:2mOaV5qN0
うめ
1000名無しさん@お腹いっぱい。
2024/01/23(火) 11:51:47.96ID:Sg6quwFH0 ラスト
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 713日 17時間 13分 29秒
新しいスレッドを立ててください。
life time: 713日 17時間 13分 29秒
10021002
Over 1000Thread 5ちゃんねるの運営はUPLIFT会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《UPLIFT会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
4 USD/mon. から匿名でご購入いただけます。
▼ UPLIFT会員登録はこちら ▼
https://uplift.5ch.net/
▼ UPLIFTログインはこちら ▼
https://uplift.5ch.net/login
運営にご協力お願いいたします。
───────────────────
《UPLIFT会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
4 USD/mon. から匿名でご購入いただけます。
▼ UPLIFT会員登録はこちら ▼
https://uplift.5ch.net/
▼ UPLIFTログインはこちら ▼
https://uplift.5ch.net/login
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否★4 [夜のけいちゃん★]
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★4 [蚤の市★]
- 中国側が首相答弁の撤回要求、日本側拒否★5 [夜のけいちゃん★]
- 「厚かましい挑発的発言だ」中国国連大使が高市首相発言に強く反発 日本の常任理事国入りに明確に反対 [ぐれ★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★6 [ぐれ★]
- 解体ごみ約2.3トンを山に不法投棄か トルコ国籍解体工を逮捕 埼玉 [どどん★]
- 【悲報】ファブル「━━━書かれた文面を読むだけの岸田と違って、高市は決断力や行動力があり、自分で責任を取れる。 [257926174]
- 【悲報】高市早苗さん、たった一人で日本を崩壊へ導く [714769305]
- 【悲報】高市総理モノマネにとろサーモン久保田がブチギレ。「しょーもない。高市さんは頑張ろうとしてるやろ」😮 [518915984]
- 【悲報】「やったー!こだわりまくった洋館仕立ての家を建てたぞ!」➡「「離婚したんで住まずに売ります……」 [158478931]
- 精神する時の🏡
- 【画像】日本のリン肥料、7割が中国だった!レアじゃないアースを禁輸されただけて餓死へ [347751896]
