「Windows 10ミニTips」は各回の作成時点で最新のWindows 10環境を使用しています。

稼働中のプロセスを確認し、パフォーマンスやスタートアッププログラムの管理を行う「タスクマネージャー(taskmgr.exe)」、実は不思議な動作をしている。一般的にタスクマネージャーのコマンドラインオプションは存在しないと言われているが、細かく観察していると違いが見えてくるのだ。今回はその動作を検証してみよう。

呼び出し方法で変わるコマンドライン

一般的にタスクマネージャーは「ファイル名を指定して実行」や、「Ctrl」+「Alt」+「Delete」キーで呼び出すセキュリティ画面から起動するが、その結果はすべて一緒。タスクマネージャーが起動する。だが、Sysinternalsの「Process Explorer」で起動時のコマンドラインを確認すると、その結果は異なるのだ。

(図1)「Win」+「R」キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「taskmgr」と入力して「OK」ボタンをクリック/タップする

(図2)これで「タスクマネージャー」が起動した。「簡易表示」「詳細」のいずれかになるのは、前回終了時の表示形式が引き継がれる

(図3)Process Explorerでコマンドラインを確認すると「"C:\Windows\system32\taskmgr.exe"」である

上の図1~図3はファイル名を指定して実行からタスクマネージャーを起動し、下の図4~図5はタスクバーからタスクマネージャーを起動したものだが、Process Explorerで確認するコマンドラインには、オプション「/4」が加わったことが見て取れる(図3、図5)。

(図4)タスクバーの何もないところを右クリックし、「タスクマネージャー」をクリック/タップする

(図5)同じくタスクマネージャーが起動するが、コマンドラインは「"C:\Windows\system32\taskmgr.exe" /4」に変化する

この他にも直接タスクマネージャーを起動する「Ctrl」+「Shift」+「Esc」キーを押した場合はオプション「/2」、「Ctrl」+「Alt」+「Delete」キーで呼び出すセキュリティ画面から起動するとオプション「/3」。検索ボックスからショートカットファイル経由で起動するとオプション「/7」に変化することを確認できた。

「Ctrl」+「Shift」+「Esc」キーを押してタスクマネージャーを起動した状態。コマンドラインが「"C:\Windows\system32\taskmgr.exe" /2」に変化した

「Ctrl」+「Shift」+「Delete」キーを押してセキュリティ画面の「タスクマネージャー」をクリック/タップする

こちらの場合はコマンドラインが「"C:\Windows\system32\taskmgr.exe" /3」に変化した

検索ボックスをクリックしてテキストボックスに「taskm」と入力したら、「タスクマネージャー」をクリック/タップする

今度はコマンドラインが「"C:\Windows\system32\taskmgr.exe" /7」に変化している

「/Startup」オプションと数値オプションを組み合わせる

本件についてMicrosoftの開発者向け資料をあさってみたが、これらの数字を意味する説明は見当たらない。Windowsの技術解説書であるリソースキットも同様だった。何かヒントはないかとtaskmgr.exe内部を調べたところ「/Startup」という、いかにも"オプションとして用意"したような文字列が見つかった。

Process Explorerの<Strings>タブで含まれる文字列を確認したところ、意味深な「/Startup」という文字列を確認できた

だが、「taskmgr /Startup」と実行しても、そのままタスクマネージャーが起動するだけで特に変化はない。ところが先の数値を用いて「taskmgr /0 /Startup」と実行したところ「スタートアップ」タブがアクティブな状態でタスクマネージャーが起動した。

「Win」+「R」キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「taskmgr /0 /Startup」と入力して「OK」ボタンをクリック/タップする

すると「スタートアップ」タブがアクティブな状態でタスクマネージャーが起動する

この数値を「1」「2」「3」と変更してみたが結果は一緒。察するにタスクマネージャーの起動をイベントに書き込む際、起動手順を判断するための数値なのかもしれない。昔のプログラムでは、実行結果を数値で示すエラーコードを用いていたが、それに近い動作なのではないだろうか。

タスクマネージャーでスタートアッププログラムを整理するときは、「taskmgr /0 /Startup」を直接起動できることを知っておくと、一手間省ける。

阿久津良和(Cactus)