![見出し画像](https://assets.st-note.com/production/uploads/images/142696772/rectangle_large_type_2_c7864f44cba420ee7ccfd4058a6be895.png?width=1200)
「Chrome Legacy Window」が表示される問題についての解決案【UWSC】
UWSC のマクロに関しては POSACC 関数を使用している際に、通常であればマウスカーソル下の文字情報を取得するはずですが、Chrome 起動直後など一時的に「Chrome Legacy Window」と表示される状態になり POSACC 関数 が適切にマウスカーソル下の文字情報を取得しなくなることがあります。
「Chrome Legacy Window」と表示される原因や表示させないための根本的な解決策はわかっていないので、この記事では UWSC のマクロが実運用で問題をおこさないようにするための解決案について書きたいと思います。
//「Chrome Legacy Window 状態」の場合は待機する------------------------------------
WHILE POSACC(ID, 290+STATUS(ID, ST_X), 20+STATUS(ID, ST_Y))="Chrome Legacy Window"
CLKITEM(ID,"閉じる", CLK_ACC or CLK_MUSMOVE, FALSE)
SLEEP(0.03)
FUKIDASI("Chrome Legacy Window 状態")
WEND
FUKIDASI()
//--------------------------------------------------------------------------------
概念的な記述で申しわけないのですが、ID や座標の指定に関しては状況に合わせて指定してください。
上記のような処理を POSACC を利用する画面に切り替えた直後に加えておきます。マクロの後半で POSACC を利用するような場合でも、処理の冒頭で一度画面を切り替えてチェックします。
そうすることで「Chrome Legacy Window 状態」のままで処理に入ってしまうことを抑止できますし、ちょっとだけ「Chrome Legacy Window 状態」だった場合には、自然に通過します。また、一旦画面の上部にマウスを移動させることで POSACC を有効にできるようなので、「閉じる」ボタンにマウスを移動させています。それでも「Chrome Legacy Window 状態」の吹き出しで止まったままだと処理の冒頭で認識した場合には、一度作業を中断します。
一旦画面の上部にマウスを移動させることで POSACC を有効にできるようなので「Chrome Legacy Window 状態」が解除され POSACC 関数が有効になっていること確認後、処理を行っていただくと通常の運用を行えるのではないかと思います。
EGDGE では起動の直後でもこの問題は起きませんでした。
「Chrome Legacy Window」回避策
「Chrome Legacy Window」と表示される状態になってしまった場合、画面の上部にあるボタンにマウスを重ねることで、「Chrome Legacy Window」と表示される状態を解除できる場合があるようです。
//----------------------------------------------------------------------
//「Chrome Legacy Window」回避策
//----------------------------------------------------------------------
WHILE POSACC(ID, 290+STATUS(ID, ST_X), 20+STATUS(ID, ST_Y))="Chrome Legacy Window"
CLKITEM(ID,"新しいタブ", CLK_ACC or CLK_MUSMOVE, FALSE)
SLEEP(0.03)
FUKIDASI("Chrome Legacy Window 状態")
WEND
FUKIDASI()
//----------------------------------------------------------------------
例では、「新しいタブ」ボタンにマウスを重ねていますが、「閉じる」ボタンでも同様の効果が得られるようです。ただしすべての画面に同じボタンが必ずあるということでもないようですから、開始する画面ごとに重ねる対象を検討する。あるいは、開始時に「Chrome Legacy Window」と表示される状態を解除してから、目的の画面に遷移させる仕組みなどを考慮する必要があるようです。その点は皆さんのご利用方法に応じて適した解決方法を検討してください。
「Chrome Legacy Window 状態」が安定した運用の阻害要因になる機会が増えているようですので、この記事が皆さんのお役に立てば幸いです。
有料エリアには何も情報がありません
記事を評価してくれた方はサポートもお願いします
ここから先は
¥ 100
この記事が気に入ったらサポートをしてみませんか?