如何通过ProcessID获取UWP AppPackageID

时间:2018-10-21 09:03:13

标签: c# uwp

我想仅通过提供进程的PID来获取应用程序包ID(即UWP应用的ID)。

一些背景: 我有一个小应用程序,它显示被Windows防火墙阻止的连接,并且我不仅要显示进程名称,还要显示进程是否托管UWP Apps(或PWA)的应用程序包的名称。

1 个答案:

答案 0 :(得分:0)

如果要获取像YourAppName_1.0.0.1_x64__by20zvz6wrq60这样的软件包系列名称,则可以将其从完整路径解析为流程的主模块,形式为 C:\ Program Files \ WindowsApps \ YourAppName_1.0.0.1_x64__by20zvz6wrq60 \ SomeApp.exe

Process p = Process.GetProcessById(21576); //provide the correct process Id
if (p != null)
{
    Console.WriteLine(p.MainModule.FileName); 
}

注意:将您的小型应用程序编译为64位程序,以便它可以查询32位和64位进程。