[過去ログ] AutoHotkey スレッド part30 IDのみ (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
963(1): 2024/01/22(月)01:06 ID:3aIX8ca00(1/5) AAS
皆さん、ありがとうございます。
>>960
>>961さんのご指摘通り、"ahk_group"の部分が文字列、 GroupAやGroupBが変数で中身にアプリ名を表す文字列を入れています。
>>961
ドット連結の書き方も試してみましたが、結果は同じでした。WinActive部分がWinExistのような挙動をしていて、必ず一番上の条件で真になってその中身が実行されるような挙動です。
>>962
#HotIf WinActive("ahk_group" GroupX)の後の{}を外してみましたが、結果は同じでした。同じくWinActive部分がWinExistのような挙動をします。エディタの自動インデント対策のためデバッグ途中で付けてしまいましたが、確かに本来の書き方では{}は不要かもしれません。
MyFuncは、上の方でClassを定義していて、そこの関数を呼び出しています。複雑な処理のためここには書ききれませんが、GroupAもGroupBもMyFunc()の呼び出し自体には問題なく成功します。
964: 2024/01/22(月)01:12 ID:3aIX8ca00(2/5) AAS
ごめんなさい。
WinActive部分が本当にWinExistのような挙動をしているのか確実には分からないのですが、必ず一番上の条件で真になってその中身しか実行されないようです。
965(1): 2024/01/22(月)01:16 ID:bKQFDm5J0(2/4) AAS
GroupAとGroupB、中身が指すものが重複してたりして
966: 2024/01/22(月)01:21 ID:wrpkRwS00(1/3) AAS
外部リンク[htm]:ahkscript.github.io
グループ作成はこれ使ってる?
967: 2024/01/22(月)01:26 ID:tIDZAczD0(3/4) AAS
今さらだが>>961分かりにくかったので訂正
間違い → #HotIf WinActive("ahk_group " . MyGroup)
こういうこと言いたかった↓
GroupAに"MyGroup"と言う文字列が入ってるとする
#HotIf WinActive("ahk_group " . GroupA)
968(1): 2024/01/22(月)01:39 ID:tIDZAczD0(4/4) AAS
>>963
しつこくてスマンが
>#HotIf WinActive("ahk_group" GroupX)
↓これでもダメ?
何回も言うようだけど、ahk_groupの後ろ( " の直前)の半角空白入れるのを忘れずに
#HotIf WinActive("ahk_group " . GroupX)
もう寝ます
969: 2024/01/22(月)01:54 ID:wrpkRwS00(2/3) AAS
>>968
外部リンク[htm]:ahkscript.github.io
のahk_ Criteriaにあるけど、空白は0個以上なんで無くてもいいらしいよ
970: 2024/01/22(月)02:11 ID:3aIX8ca00(3/5) AAS
>>965
ありがとうございます。
どうやらこれが原因でした。
(誤)
GroupA := "_"
GroupAdd(GroupA, "app1.exe")
GroupB := "_"
GroupAdd(GroupB, "app2.exe")
(改)
GroupA := "GroupA"
省4
971: 2024/01/22(月)02:34 ID:3aIX8ca00(4/5) AAS
もう一つ期待した結果が得られないパターンが出てきました。
#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")
省7
972: 2024/01/22(月)02:34 ID:3aIX8ca00(5/5) AAS
【(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
上記の記述順序では下記の結果が得られ、期待した結果を得られました。
省4
973(1): 2024/01/22(月)02:55 ID:bKQFDm5J0(3/4) AAS
GroupAdd(GroupA, "app1.exe")
↓
GroupAdd(GroupA, "ahk_exe app1.exe")
だったり?
974: 2024/01/22(月)08:49 ID:85FxdUTx0(1) AAS
>>973
回答ありがとうございます。
GroupAdd(GroupA, "app1.exe")
としましたが、私の実際のコードではアプリの実行ファイル名ではなくアプリの実行ファイルのウィンドウタイトルを指定していました。
ウィンドウタイトルの場合は"ahk_exe"の記載は不要と認識していて、下記とするのがおそらく適切でした。
(誤)
GroupAdd(GroupA, "app1.exe")
(正)
GroupAdd(GroupA, "app1.exeのウィンドウタイトル")
つまり下記の①はウィンドウタイトルでの判定、②は実行ファイル名での判定になります。
省6
975: 2024/01/22(月)11:19 ID:ZHKh8NqU0(1) AAS
>>924
なぜかAHK使っているとpowertoysが気に食わない
外部リンク:windowtop.info
976: 2024/01/22(月)11:25 ID:wwZIOroE0(2/3) AAS
#HotIfの#でない版が欲しいんだけどな
なんでここはプリプロセッサのままなんだろう
977: 2024/01/22(月)11:43 ID:d29CGPd00(1) AAS
>私の実際のコードではアプリの実行ファイル名ではなくアプリの実行ファイルのウィンドウタイトルを指定していました。
クズが
978: 2024/01/22(月)11:54 ID:bKQFDm5J0(4/4) AAS
長いとコード全部貼れないので関係無いと思ってるとろを簡略化して貼るのは仕方のないことだと思うが、
関係無いと思ってた部分に原因があると第三者からは解らないんで簡略化したそのものを書き換えず実際に実行
してみたほうがいいね。切り分け方法の1つだと思う。
979: 2024/01/22(月)11:58 ID:wwZIOroE0(3/3) AAS
貼る時に簡略化するんじゃなくて、自分で原因究明する時にどんどん削っていく
ここまで要素化してもまだおかしいので見て見て見て、になる
980: 2024/01/22(月)12:59 ID:wrpkRwS00(3/3) AAS
挙動がおかしいと思う時の質問・報告は
誰でも再現できる手順を添えるのが面倒でも一番いいってテンプレに足す?
981: 2024/01/22(月)14:48 ID:RJyJ9Z7a0(1) AAS
ハッタショは無理して回答側に回らなくていいぞ
迷惑だから
982: 2024/01/23(火)11:46 ID:pty1rkzy0(1/3) AAS
うめ
上下前次1-新書関写板覧索設栞歴
あと 20 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.141s*