起動したアプリがアクティブにならない

例えば、あふ(AFWX.exe)などは、「のどか」で起動キーをセットして起動していた。
ただ、どうしてもバックグラウンドでの起動になってしまう。

あるいは、最前面に表示されてもアクティブにならない。
どうしてそうなるのか調べても理由が分からず、不便な思いをしていた。

仕方がないので、「のどか」からの起動に拘らないことにし、startupにAFWX.exeのショートカットを登録しておき、windowsキーでメニューを出して、そこからaf..とタイプして起動するようにしてみた。この動作をよく使っていれば、afではなくaを入れただけで起動できるようになる。この設定でも、キーだけで、2ないし3の打鍵で起動することができるので、まあ許容範囲かと思う。

 

参考になる情報としては、次がある。

Windows10 アクティブウインドウが最前面に出てこない対応 - がとらぼ

こちらで手順として掲げられているのは、次の通り。

1 レジストリエディタで左のツリーから[HKEY_CURRENT_USER]、[Control Panel]、[Desktop]を辿り、右ペインからForegroundLockTimeoutの行を見つける。

2 ForegroundLockTimeoutの行を右クリックし「修正」をクリック。

3 10進で、値のデータを 0 にする。
4 [OK]をクリック。レジストリエディタはそのまま閉じる。

5 PCを再起動する(この設定は再起動しないと有効にならないように思う。)

このサイトにもあるが、まさに対処であって根治じゃないので注意。

Xpの頃からか、オレンジ色になってタスクバーでチカチカしていたな、と思い出す。

昔から悩まされていたことを、この記事を読んで思い出した。

 

なお、下記のような記事もある。

【windows10】 アクティブウィンドウが最前面に出てこない | 千松ブログ

 

追記 2020/06/11

この、アプリケーションを起動してもアクティブにならずバックグラウンドになってしまうという現象はどういうタイミングで起きるのかよく分からない。

正直、再起動する、というのが一番よいように思う。

先日、Andy Grove の Only Paranoid Survive を読んでいたら、次のような記述があり、正直、ユーザとしてはインテルを含むサプライヤーやソフトウェアベンダーにはしっかりやってほしい気持ちがあるが、それでも、こうした detached な態度も一つの方法ではあるかな、とも思う。

Think about it: Right now, a whole generation of young people in the United States has been brought up to take computers for granted. Pointing with a mouse is no more mysterious to them than hitting the "on" button on the television is to their parents. They feel utterly comfortable with using computers and are no more affected by their computer crashing than their parents are when their car stalls on a cold morning: They just shrug mumble something and start up again.

 

追記 2020/06/21

Windows10 2004 May 2020 Updateを導入したところ、また起動したプログラムがアクティブにならなくなった。再起動しても治らず、確認したところ、上記のレジストリが元に戻っていた。まあ、このレジストリの設定は余り関係ないのでいいのだが。それにしても、どうしてアクティブにならない現象が発生するのか、理解に苦しむところだ。

なお、下記のような記事を見つけた。

answers.microsoft.comだいたいにおいて私が検索して出てくるマイクロソフトコミュニティでの問題解決率は、体感として1%という感じだ。海外のものを含めての数字で、日本のサイトだと、自己解決以外で解決されたのを見たことがない。これはすべての問題についてということではない。私が検索する問題についてであり、それは、一応考えられる手段はとり、必要な情報も収集したうえでチェックしているため、それでも解決できないものはこのコミュニティでも駄目だ、ということかもしれない。ただ、雰囲気として、例の上から目線感あふれる「ですね」口調や全体の深堀感のなさはあまり愉快ではない。回答している方は、あまり使い込んでいないというか、オフィス等で標準的な使い方しかしていない人なのかもしれない(その限りではかなりの経験を積まれているのかもしれない。)。

とはいえ、回答は参考にならないが、質問は参考になるので、このコミュニティの存在はありがたいと思っている。

特に、このデスクトップの表示が関係している、というヒントは面白かった。

私もデスクトップの表示をやってみると、実に面白いことが分かった。

起動したのにアクティブにならないアプリがある場合、その状態でデスクトップの表示をし、再度同じw-dで復帰するとアクティブになっている。これは、非常に少なく、かつホームポジションから打鍵できるので、かなり助かる。

さらに興味深いのは、最前面のアプリを終了した場合、なぜかその次に前面にあるアプリではなくほかのアプリが背後でアクティブになっていることがある。これも、デスクトップを表示させ再度元の画面に戻すとちゃんと前面のアプリがアクティブになっている。ただ、この時、背後のアプリのバーにもアクティブの色が着いている。ここで再度デスクトップを表示させ、再度元の画面に戻すと、今度は前面のアプリのみアクティブの色がついた状態になる。

このような変なことが起きる、ということは、つまり、このアプリがアクティブになるかならないかについては、アプリ側の問題ではなく、windows側の不具合だ、ということだ。その意味で、実は工夫の余地はなく、まさにAndy Groveのように「やれやれ」と肩をすくめて、そのようなものとして対応する、ということになる。悩んでも仕方のない問題だ、ということだ。それが分かる、ということだけでも大変すばらしいことだ。

 

さて、さらにチェックしてみると、今度はタスクバーでオレンジ色に点滅して前面に出てこない状況。

これについては、以下を実施。

1 レジストリエディタで左のツリーから[HKEY_CURRENT_USER]、[Control Panel]、[Desktop]を辿り、右ペインからForegroundFlashCountの行を見つける。

2 ForegroundLockTimeoutの行を右クリックし「修正」をクリック。

3 10進で、値のデータを 0 にする。
4 [OK]をクリック。レジストリエディタはそのまま閉じる。

(なお、レジストリエディタでの変更がどうも直ちに反映されていないようにも思える。0にしたのに相変わらず7回点滅している。)

 

もう一つ、あふについては、nodokaから起動させているが、その場合には、下記のような例が作者から報告されている。

チケット #35056: &ShellExecuteでプログラムが最前面にならないことがある - のどか - OSDN

 

また、あふの起動に、ショートカット右クリックでCTRL-ALT-Oを割り当て、起動させてみると前面に出てくる。

一方、PowertoysのKeyboard Managerで、CTRL-ALT-OにCTRL-Oを割り当て、CTRL-Oを押すと、背面で起動する。
こうしてみると、やはりマイクロソフトのバグのように思われる。

 

参考だが、

一応、コントロールパネル->コンピュータの簡単操作センター->マウスを使いやすくします->マウス ポインターをウィンドウ上に合わせたときにウィンドウを選択します をオフにしておくことも確認。

解決!表示したい画面が一番手前に出てこない | 秘亭のネタ