[過去ログ] AutoHotkey スレッド part30 IDのみ (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
962
(1): 2024/01/22(月)00:36 ID:bKQFDm5J0(1/4) AAS
それは変数の連結。
MyGroupっていう文字列を指定したいなら "" 内で良いけど別途MyGroup変数に文字列を入れてると思われる。

自分もahk_group使ったこと無いのでよくわからんが、
#HotIfは中括弧のスコープ無効だよね。ホットキーとして正しく認識してないんじゃないか?
あとはMyFunc()の定義をどこにどういうふうに書いてるのかね?
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
うめ
983: 2024/01/23(火)11:46 ID:pty1rkzy0(2/3) AAS
うめ
984: 2024/01/23(火)11:47 ID:pty1rkzy0(3/3) AAS
うめ
985: 2024/01/23(火)11:47 ID:TsDB/+Jr0(1/3) AAS
うめ
986: 2024/01/23(火)11:47 ID:TsDB/+Jr0(2/3) AAS
うめ
987: 2024/01/23(火)11:47 ID:TsDB/+Jr0(3/3) AAS
うめ
988: 2024/01/23(火)11:48 ID:wbNZg8y80(1/3) AAS
うめ
989: 2024/01/23(火)11:48 ID:wbNZg8y80(2/3) AAS
うめ
990: 2024/01/23(火)11:48 ID:wbNZg8y80(3/3) AAS
うめ
991: 2024/01/23(火)11:48 ID:Rc83/6Vf0(1/3) AAS
うめ
992: 2024/01/23(火)11:48 ID:Rc83/6Vf0(2/3) AAS
うめ
993: 2024/01/23(火)11:49 ID:Rc83/6Vf0(3/3) AAS
うめ
994: 2024/01/23(火)11:49 ID:KP2haNFj0(1/3) AAS
うめ
995: 2024/01/23(火)11:49 ID:KP2haNFj0(2/3) AAS
うめ
996: 2024/01/23(火)11:49 ID:KP2haNFj0(3/3) AAS
うめ
997: 2024/01/23(火)11:50 ID:2mOaV5qN0(1/3) AAS
うめ
998: 2024/01/23(火)11:50 ID:2mOaV5qN0(2/3) AAS
うめ
999: 2024/01/23(火)11:51 ID:2mOaV5qN0(3/3) AAS
うめ
1000: 2024/01/23(火)11:51 ID:Sg6quwFH0(1) AAS
ラスト
1001
(1): 1001 ID:Thread(1/2) AAS
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 713日 17時間 13分 29秒
1002
(1): 1002 ID:Thread(2/2) AAS
5ちゃんねるの運営はUPLIFT会員の皆さまに支えられています。
運営にご協力お願いいたします。

───────────────────
《UPLIFT会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
4 USD/mon. から匿名でご購入いただけます。
省4
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.440s*