UWP 如何获取使用启动器触发的应用程序的 PID?
UWP How to get PID for app triggred using Launcher?
在我的 UWP 应用程序中,默认应用程序使用 Launcher 打开文件(例如 txt)。
bool isFileOpen = await Windows.System.Launcher.LaunchFileAsync(storageFile);
以上方法使用默认应用程序(例如notepad.exe)打开文件(例如txt)。启动应用程序后,将创建新进程。我想知道该进程的 PID 和状态。为什么?我想监视它的状态以确定应用程序(如打开文件的 notepad.exe)是否关闭。
是否有任何解决方案可以获取任务管理器中显示的这些信息?
LaunchFileAsync
方法只是告诉操作系统 (OS) 启动与指定文件关联的默认应用程序。它不知道 return 任何 PID 或有关最终由 OS 启动的进程的其他信息。
因此,如果您不查看所有进程并以某种方式试图找出哪些进程是由于您的应用程序调用 LaunchFileAsync
方法而启动的,恐怕您无法获得此信息。例如,您可能会在调用该方法之前获取所有 运行 进程,然后立即再次获取。但是 API 本身在这方面 return 没有任何用处。
在我的 UWP 应用程序中,默认应用程序使用 Launcher 打开文件(例如 txt)。
bool isFileOpen = await Windows.System.Launcher.LaunchFileAsync(storageFile);
以上方法使用默认应用程序(例如notepad.exe)打开文件(例如txt)。启动应用程序后,将创建新进程。我想知道该进程的 PID 和状态。为什么?我想监视它的状态以确定应用程序(如打开文件的 notepad.exe)是否关闭。
是否有任何解决方案可以获取任务管理器中显示的这些信息?
LaunchFileAsync
方法只是告诉操作系统 (OS) 启动与指定文件关联的默认应用程序。它不知道 return 任何 PID 或有关最终由 OS 启动的进程的其他信息。
因此,如果您不查看所有进程并以某种方式试图找出哪些进程是由于您的应用程序调用 LaunchFileAsync
方法而启动的,恐怕您无法获得此信息。例如,您可能会在调用该方法之前获取所有 运行 进程,然后立即再次获取。但是 API 本身在这方面 return 没有任何用处。