題名 | 著者 | 日付 | CREATETIME | カテゴリ |
---|---|---|---|---|
DOTNETは、コマンドラインを入力してWMIプロセスを取得します。
|
lindexi
|
2019年11月29日8時35分39秒0800
|
2019年2月22日午前10時17分37秒0800
|
DOTNET C#WMI
|
この資料では、このプロセスを通じて入ってくるコマンドラインプロセスを取得するためにWMIを使用する方法を説明します
現在のプロセスによってWHERE裁判官、すべてのプロセスを取得してWin32_Process使用に次のコードを使用して、プロセスの着信コマンドを取得
プライベート 静的の 文字列 GetCommandLine(この プロセス 工程)
{ 使用して(ManagementObjectSearcher サーチャ= 新ManagementObjectSearcher(" PROCESSID = Win32_ProcessにFROM CommandLineを選択し、" + プロセス。同上))
使用(ManagementObjectCollectionはオブジェクト= サーチャ。取得())
{ 戻りオブジェクトを。キャスト < ManagementBaseObject
>()。SingleOrDefault() ?[ "のCommandLine " ] ?。ToStringメソッド();
}
}
コマンドラインパラメータのプロセスのすべてを取得します。
プライベート 静的な 無効 メイン()
{ foreachの(VARのプロセスにおけるプロセス。GetProcesses())
{ しようと
{ コンソールを。WriteLineに(プロセス。GetCommandLine())。
} キャッチ(Win32Exception EX)((UINT)EX。のErrorCode == 0x80004005の)
{ //意図的に空にされていません-プロセスへのセキュリティアクセスを。
} キャッチ(例外InvalidOperationException)
{ //意図的に空-詳細を取得する前に終了したプロセス。
}
}
}
あなたは、このようなDOTNETコア2.0を使用して、またはDOTNETコアコンパイラネイティブで必要とされるバージョンを次のようにアクセスWMIは、試すことができますすることができない場合は、コマンドラインを入力しDOTNETで指定されたプロセスを得るために、WMIを使用しません
https://stackoverflow.com/a/2633674/6116637
もっとWMIを参照してください。WMIのブログを