そんな感じで、正方形のディスプレイが理想なんだよな
縦に短いと折角フットプリントを都合しても、全然活かせない
ディスプレイの中の各ウインドウも正方形が理想
うちのブラウザとかエディタとかファイラーとかexcelとかはみんな正方形
縦1920無いと、スマホ用ページしか作ってない糞サイトが見辛い
VDT作業的には、見上げる姿勢は良くないんだよな
まっすぐ前を見てディスプレイの上端が見える配置がいい
縦の長さは下へ延ばす
つってもキーボードより下は不自然なので、高さ60cmくらいに限界がある
縦横60cmの33.4インチディスプレイ
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
(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}")
}
}
ahk_group って使わないけど、そういう使い方できるの?
v2使ってないから検証できないけど、v2のリファレンスで「#HotIf」の項目見てみたら
#HotIf WinActive("ahk_group MyGroup")
↑こうなってるから後ろの「"」の場所違うような・・・
それは変数の連結。
MyGroupっていう文字列を指定したいなら "" 内で良いけど別途MyGroup変数に文字列を入れてると思われる。
自分もahk_group使ったこと無いのでよくわからんが、
#HotIfは中括弧のスコープ無効だよね。ホットキーとして正しく認識してないんじゃないか?
あとはMyFunc()の定義をどこにどういうふうに書いてるのかね?
ごめんなさい。
WinActive部分が本当にWinExistのような挙動をしているのか確実には分からないのですが、必ず一番上の条件で真になってその中身しか実行されないようです。
GroupAとGroupB、中身が指すものが重複してたりして
もう一つ期待した結果が得られないパターンが出てきました。
#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")を実行して欲しい!)
【(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")
GroupAdd(GroupA, "app1.exe")
↓
GroupAdd(GroupA, "ahk_exe app1.exe")
だったり?
#HotIfの#でない版が欲しいんだけどな
なんでここはプリプロセッサのままなんだろう
>私の実際のコードではアプリの実行ファイル名ではなくアプリの実行ファイルのウィンドウタイトルを指定していました。
クズが
長いとコード全部貼れないので関係無いと思ってるとろを簡略化して貼るのは仕方のないことだと思うが、
関係無いと思ってた部分に原因があると第三者からは解らないんで簡略化したそのものを書き換えず実際に実行
してみたほうがいいね。切り分け方法の1つだと思う。
貼る時に簡略化するんじゃなくて、自分で原因究明する時にどんどん削っていく
ここまで要素化してもまだおかしいので見て見て見て、になる
挙動がおかしいと思う時の質問・報告は
誰でも再現できる手順を添えるのが面倒でも一番いいってテンプレに足す?
ハッタショは無理して回答側に回らなくていいぞ
迷惑だから
10011001Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 713日 17時間 13分 29秒