Question

System.Diagnostics.Process.GetProcesses メソッドは、UWPアプリを列挙するのか? というつまらない疑問。
ネット上見ても、出来る、出来ない、すら書いてない。
自明のことだから書いてないだけなの?

Answer

できる。

電卓を起動し、下記のプログラムを実行する。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
using System;
using System.Linq;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var ps = System.Diagnostics.Process.GetProcesses();
foreach (var p in ps.Where(process => process.ProcessName == "Calculator"))
{
try
{
Console.WriteLine("プロセス名: {0}", p.ProcessName);
Console.WriteLine("ID: {0}", p.Id);
Console.WriteLine("ファイル名: {0}", p.MainModule.FileName);
}
catch (Exception ex)
{
Console.WriteLine("エラー: {0}", ex.Message);
}

Console.WriteLine();
}
}
}
}

実行結果は、

1
2
3
プロセス名: Calculator
ID: 49308
ファイル名: C:\Program Files\WindowsApps\Microsoft.WindowsCalculator_10.1703.601.0_x64__8wekyb3d8bbwe\Calculator.exe