Windows7によって引数付きで呼び出されたtaskmgr.exe
Taskmgr Exe Called With An Argument Windows 7
解決:
分析
どうやらそれは文書化された振る舞いではありません。私はいくつかのテストを行い、私の発見に注目しました:
タスクバーを右クリックして、 タスクマネージャーを起動します 。
'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の開発段階からリリースプレビューまで、同じように機能しました。 WindowsVista以前のオペレーティングシステムは影響を受けません。
実行可能ファイルは、いくつかのAPI関数(つまり、
GetCommandLineWおよび
CommandLineToArgvW)は、コマンドライン引数を取得して解析するために使用されます。
上記の引数のいずれかを使用してプログラムを手動で開始しても、目立った効果はないようです。
知識に基づいて推測する必要がある場合、数値パラメーターは内部の起動インジケーターであり、デバッグ目的で使用された後、取り残される可能性があると言えます。
いくつかの注意:
コマンドが送信されたからといって、プログラムがそれらの引数などを受け入れることを意味するわけではありません。
例えば:
私は自分の奇妙なコマンドでタスクマネージャーを呼び出しましたが、動作は変わりませんでした。
基本的なプログラミングの観点から、どのアプリケーションにも、引数がある種のメインメソッドがあります。 できる たとえば、基本的なWindowsフォームC#アプリケーションは次のようになります。
private void Form1_Load(object sender、EventArgs e){}面白い引数を渡すと、アプリケーションには何も起こりませんが、ProcessExplorerはそれらをキャッチして表示します。
ただし、明示的にそれらを処理することにした場合は、コマンドから対話を取得します。
そして、私がしなければならなかったのは、フォームのエントリポイントをわずかに変更することだけでした。
private void Form1_Load(object sender、EventArgs e){文字列引数= Environment.GetCommandLineArgs()[1]; this.Text =引数; }さて、なぜそこにあるのかというあなたの質問に戻りましょう:
ctrl + alt + delメソッドからtaskmgr.exeにアクセスすると、実際にコマンド引数 '/ 3'が表示されます。また、ctrl + shift + escを使用すると、/ 2が渡され、タスクバーを右クリックして[タスクマネージャーの開始]をクリックすると、表示されるスイッチは/ 4になります。
これらすべてから、Windowsが知っておく必要のあることがあるか、または私たちが知らないタスクマネージャー用にほぼ実装されているのではないかと思います。たとえば、Windowsのセキュリティでは、スクリプトやユーザーではなく、ctrl + alt + delがtaskmgr.exeの呼び出しに使用されたかどうかを知りたい場合があります。繰り返しますが、純粋な憶測ですが、このようなスレッドは、少なくとも考えられたのではないかと私に思わせます。
悪名高い人のために tl; dr
Windowsがこれらのコマンドを渡す理由を知るには、Microsoftの開発チームのメンバーまたはソースコードが必要になる可能性があります。これ以上の答えはないかもしれません。