[ 新規に投稿する ]

Windows11 22H2に置いてバックグラウンドになってしまう。No.40102
nqk さん 22/10/28 19:12 [ コメントを投稿する ]
  初投稿となります。よろしくお願い致します。
最近、『Windows11 22H2』にしました。

私はマクロを起動して『.txt』ファイルをちょっとだけ編集して表示するという事をやっていました。

Windows10まではうまく最前面に表示された『.txt』ファイルですが、Windows11のこのバージョンでは最背面?になってしまいとても使い辛いです。

これを直すオプション等はありますでしょうか?

もしありませんでしたら、開発のご一考願えないでしょうか?

何卒よろしくお願い致します。
[ ]
RE:40102 Windows11 22H2に置いてバックグラウンドになってしまNo.40104
秀丸担当 さん 22/10/31 09:12 [ コメントを投稿する ]
  マクロを使ってファイルを開かれているとのことで、以下のようなマクロかと思います。
openfile "c:\\folder\\a.txt";
endmacro;

このマクロをWindows11 22H2で試してみたところでは、問題は見られず、どういうことが起きているかわかりませんでした。
新しくウィンドウができるようなことかと思いますので、タブモードではなく、既に別のファイルを開いている状態からのマクロ実行かと思います。
その状態であれば、新しい秀丸エディタが起動し、アクティブになって前面に現れ、背面に行ってしまうようなことは確認できませんでした。

具体的なマクロや、操作方法など、できるだけ詳しく教えてほしいです。
"taki@maruo.co.jp"にマクロを送っていただければこちらでテストすることも可能です。
差し支えなければ、[その他]→[設定内容の保存/復元...]で設定内容を保存したものも送っていただけると再現できると思います。
[ ]
RE:40104 Windows11 22H2に置いてバックグラウンドになってしまNo.40106
nqk さん 22/10/31 11:58 [ コメントを投稿する ]
  >マクロを使ってファイルを開かれているとのことで、以下のようなマクロかと思います。
> ......
>差し支えなければ、[その他]→[設定内容の保存/復元...]で設定内容を保存したものも送っていただけると再現できると思います。
---   ---   ---   ---   ---   ---   ---   ---   ---
こんにちは。

私のマクロはアイコンのバッチファイルに、
start D:\〜\Hidemaru\Hidemaru.exe  /x "D:\〜該当マクロ.mac"
と記述してありこのアイコンをクリックする事で
新規に秀丸ウィンドウが開き、
該当マクロ.macファイルの中のopenfileで処理するテキストファイルを開きます。

確かに、秀丸ウィンドウが開いていればそれがバックグラウンドであろうとフォアグラウンドであろうと、
私のマクロ実行でテキストファイルはフォアグラウンドで開かれるのを確認しています。

申し訳ありませんがマクロファイルはお渡しできません。

この状況、マクロで他のアプリケーションを開いた場合も起こりえます。
Windows10では開かれたアプリケーションは全部フォアグラウンドでした。

この様な拙い説明で宜しいでしょうか?

何卒よろしくお願い致します。
[ ]
RE:40106 Windows11 22H2に置いてバックグラウンドになってしまNo.40107
秀丸担当 さん 22/10/31 14:53 [ コメントを投稿する ]
 
>私のマクロはアイコンのバッチファイルに、
>start D:\〜\Hidemaru\Hidemaru.exe  /x "D:\〜該当マクロ.mac"

このようなバッチファイル(c:\test\test.bat)を作って、マクロはopenfile "c:\\folder\\a.txt";だけのものを作ってみましたが、ほとんどの場合はうまく動きました。
ほとんどの場合というのは、起動元のウィンドウが入力操作中と判断された場合、バックグラウンドになることは、従来のWindowsからありえます。
その場合、以前はタスクバー上で該当のウィンドウが点滅状態になって前面に来ないようになるというWindowsの仕様がありました。
秀capsとか使って無理やりその状態を作り出そうとしたのですが、数十回やって一度だけ再現したと思うのですが、タスクバーは点滅していなかったような気がしました。(もう再現しないのでどうだったか)

一番最初に起動するのは、拡張子.batによるコマンドプロンプトに相当するものだと思います。
それが裏に行っていると、そこからstartで起動するものも裏に行っているという気がします。
22H2から、既定のコマンドプロンプト相当のものがターミナルというものに変わってさらにPowerShellになっているかもしれないので、もしそれが影響していたら、またコマンドプロンプトに戻せばいいかもしれません。

スタートボタンを右クリックしてターミナル(Terminal?)を選んで、上部のvボタンを押して設定を出して、既定をコマンドプロンプト+Windowsコンソールホストにするといいようです。
[ ]
RE:40107 Windows11 22H2に置いてバックグラウンドになってしまNo.40108
nqk さん 22/10/31 19:20 [ コメントを投稿する ]
  >
> ......
>スタートボタンを右クリックしてターミナル(Terminal?)を選んで、上部のvボタンを押して設定を出して、既定をコマンドプロンプト+Windowsコンソールホストにするといいようです。
---   ---   ---   ---   ---   ---   ---   ---
ご担当者さま、再現を試みて頂き有難うございます。
こちらのマクロではバックグラウンドでテキストファイルが開かれた場合、
タスクバー上で点滅していました。フォアグラウンドの場合は大丈夫でした。

ターミナルですが初期設定のコマンドプロンプトを使用しています。
これが裏に行っているとうまくいかないということですね、気付きませんでした。
ありがとうございます。

秀丸様お得意のWindowsの扱いで、最前面で開く方法があれば新バージョンで取り入れて頂きたく思います。

無理を言って大変申し訳ありませんがよろしくお願い致します。
[ ]
RE:40108 Windows11 22H2に置いてバックグラウンドになってしまNo.40109
秀丸担当 さん 22/11/01 10:27 [ コメントを投稿する ]
  そういう状況のとき、タスクバーは点滅状態になるのですね。
こちらでは昨日きり一度も再現しなくて、一般的なアプリの起動も含めて、どういうときに点滅状態になるのかわからないです。
どんなときでも強制的に前面でアクティブにするのは不可能ではないですが、それは最終手段というか、アプリの挙動としてあまりよくないと思います。

起動する側が何かわからないのですが、Windowsが入力状態と判断している何かがあるという気がします。
こちらではエクスプローラと秀丸ファイラーClassicでバッチファイルの起動で試しています。

ターミナルの設定は、コマンドプロンプトだけでなく、[既定のターミナルアプリケーション]で、[Windowsコンソールホスト]を選ばないと従来通りにはならないようです。
[既定のターミナルアプリケーション]が[Windowsで自動的に選択する]や、[Windowsターミナル]の場合は、タブ付きのウィンドウになって、そこから起動するようです。
ほかにもいくつか設定があって、いろいろ試してみてほしいです。
ターミナルの設定が影響しているかわからないですが、22H2からそうなってしまったのであれば、これが関係している可能性はありそうです。
例えばコマンドプロンプトの指定であっても、[Windowsターミナル]で設定の組み合わせによっては、デスクトップとは別のデスクトップに切り替わってそちらで起動してしまったりするようです。

ちなみに入力状態にならなくてもとにかく前面にしたいという場合は、[常に手前に表示]コマンド相当の、alwaystopswitch;を使う方法もあります。
[ ]
RE:40109 Windows11 22H2に置いてバックグラウンドになってしまNo.40113
nqk さん 22/11/03 09:24 [ コメントを投稿する ]
  >そういう状況のとき、タスクバーは点滅状態になるのですね。
> ......
>ちなみに入力状態にならなくてもとにかく前面にしたいという場合は、[常に手前に表示]コマンド相当の、alwaystopswitch;を使う方法もあります。
---   ---   ---   ---   ---   ---   ---   ---   ---
ESETの銀行系のコマンドのトラブルでブラウザが使えなくなり遅くなりました。
大変申し訳ありません。

ご回答ありがとうございます。
私の生半可な知識では難しそうで申し訳ございません。
ただalwaystopswitch;というのは、最前面に持ってくるだけは役に立ちそうです。
ワンステップその後要りますが。

後はWindows側の対応ですかね?

ここまで長々とお世話になりまして大変ありがとうございました。
開発の最中にお手間を取らせまして、開発を待つ皆様にもご迷惑をおかけ致しました。

ここにお詫び申し上げます。

本当にご丁寧にありがとうございました。これにて失礼いたします。
[ ]

[ 新規に投稿する ]