WMIクエリを使用してすべてのプロセスのリストを取得していますが、欠落しているのはプロセスの説明です。 「説明」プロパティを使用すると、このように表示されます。WMIを使用してプロセス記述を取得する方法は?
Name : chrome.exe Description : chrome.exe
が、それは
Name : chrome.exe Description : Google Chrome
する必要がありますので、プロセス記述を返すプロパティの名前は何ですか?
public void GetProcesses()
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_Process");
ManagementObjectCollection processList = searcher.Get();
foreach (ManagementObject obj in processList)
{
Console.WriteLine("Name : {0} Description : {1}",obj["Name"],obj["Description"]);
}
}
まあ、私はWCFを使っていますが、クライアントはループ内で[ID、Name、Desc、WorkingSet]プロセスをホストPCから取得します。ループ内で新しいGetVersionInfoを宣言するといいでしょうか? –
プロセス/実行ファイルごとに呼び出す必要があります。値は変更されません。つまり、WorkSetの更新された値を確実に返す必要がある間に、バージョン情報をキャッシュする必要はありません。それが本当に問題の価値があるかどうかは、たびにそれを呼び出すのと比べて、少し難しいです。いくつかの測定を行う必要があります。もちろん、クライアントがサーバーを呼び出す頻度に依存します(実行可能ファイルごとにGetVersionInfoを呼び出します)。 –
私は方法を考え出しました。新しいプロセスが開始されたか閉じられたかだけを更新します。 –