Ctrl+ Alt+ を押してDel[タスクマネージャー]をクリックすると、Windowsがtaskmgr.exe /3
コマンドとして呼び出します。いくつかのWebサイトでは、タスクマネージャーにコマンドライン引数がないと主張しています。
Windowsがこの引数を付加するのはなぜですか?
LaunchTM.exe
Windows 7にはない、あなたはWindows 8にいると思う。ここでスーパーユーザーにこれに関する新しい質問を作成してみませんか?;)
Ctrl+ Alt+ を押してDel[タスクマネージャー]をクリックすると、Windowsがtaskmgr.exe /3
コマンドとして呼び出します。いくつかのWebサイトでは、タスクマネージャーにコマンドライン引数がないと主張しています。
Windowsがこの引数を付加するのはなぜですか?
LaunchTM.exe
Windows 7にはない、あなたはWindows 8にいると思う。ここでスーパーユーザーにこれに関する新しい質問を作成してみませんか?;)
回答:
明らかに、文書化された動作ではありません。私はいくつかのテストを行い、私の調査結果に注意しました:
タスクバーを右クリックし、[ タスクマネージャーの開始 ]をクリックします。
"C:\Windows\system32\taskmgr.exe" /4
Ctrl+ Shift+を押しEscます。
taskmgr.exe /2
Ctrl+ Alt+を押してDel、[ タスクマネージャーの開始 ]をクリックします。
taskmgr.exe /3
昇格されていないタスクマネージャーを起動し、[ すべてのユーザーのプロセスを表示 ]ボタンをクリックします。
"C:\Windows\system32\taskmgr.exe" /1
taskmgr.exe
[スタート]メニューの検索バーに入力するか貼り付けて、を押しEnterます。プレスWin+ R、入力するか貼り付けtaskmgr.exe
テキストボックスに、キーを押しEnter、System32
フォルダーに移動し、taskmgr.exe
実行可能ファイルをダブルクリックします。システム構成ユーティリティ(msconfig.exe
)を起動し、[ ツール ]タブをクリックして、リストから[タスクマネージャー]項目を選択し、[ 起動 ]をクリックします。
"C:\Windows\system32\taskmgr.exe"
コマンドプロンプトを開き、を入力するか貼り付けてtaskmgr.exe
、を押しEnterます。
taskmgr.exe
リリースプレビューまで、Windows 8の開発段階でも同様に機能していました。Windows Vistaおよびそれ以前のオペレーティングシステムは影響を受けません。
実行可能ファイルは、コマンドライン引数の取得と解析に使用されるいくつかのAPI関数(GetCommandLineW
およびCommandLineToArgvW
)をインポートします。
上記の引数のいずれかを使用してプログラムを手動で開始しても、目立った効果はないようです。
経験に基づいた推測をしなければならなかった場合、数値パラメータは内部の起動インジケータであり、おそらくデバッグ目的で使用され、その後残されたものであると言えます。
taskmgr /anything /startup
は、/startup
2番目の引数として機能します。
いくつかのメモ:
コマンドが送信されたからといって、プログラムがこれらの引数を受け入れるという意味ではありません。
例えば:
私は自分の奇妙なコマンドでタスクマネージャーを呼び出しましたが、行動は変わりませんでした:
基本的なプログラミングの観点から、すべてのアプリケーションには、引数を渡すことができる何らかのメインメソッドがあります。たとえば、基本的なWindowsフォームC#アプリケーションは次のようになります。
private void Form1_Load(object sender, EventArgs e)
{
}
面白い引数を渡した場合、アプリケーションでは何も起こりませんが、Process Explorerはそれらをキャッチして表示します。
ただし、それらを明示的に処理することに決めた場合は、コマンドから対話を取得します。
そして、フォームのエントリポイントをわずかに変更するだけでした。
private void Form1_Load(object sender, EventArgs e)
{
string arguments = Environment.GetCommandLineArgs()[1];
this.Text = arguments;
}
さて、なぜそこにあるのかという質問に戻りましょう。
ctrl+ alt+ delメソッドからtaskmgr.exeにアクセスすると、実際にコマンド引数「/ 3」が表示されます。また、ctrl+ shift+ を使用escすると/ 2が渡され、タスクバーを右クリックして[タスクマネージャーの開始]をクリックすると、表示されるスイッチは/ 4になります。
これらすべてのことから、Windowsが知っておく必要のあること、またはわからないタスクマネージャー用に実装された可能性があると推測することになります。たとえば、Windowsのセキュリティでは、スクリプトやユーザーではなくtaskmgr.exeの呼び出しにctrl+ alt+ delが使用されたかどうかを知りたい場合があります。繰り返しになりますが、純粋な推測ですが、このようなスレッドは、少なくともそれが考えられたのではないかと思います。
悪名高いtl; dr
Windowsがこれらのコマンドを渡す理由を知るには、Microsoftの開発チームのメンバーか、ソースコードが必要です。より良い答えはないかもしれません。
LaunchTM.exe
が%windir%\System32
あります。