如何在Windows Phone 8.1存储应用程序中获取应用程序进程ID

时间:2015-04-15 12:51:57

标签: windows-phone-8.1

我正在开发Windows Phone 8.1应用程序,需要从代码中获取应用程序进程ID。我能用它获得的任何API吗?

2 个答案:

答案 0 :(得分:2)

您可以使用GetCurrentProcess,然后使用DuplicateHandle(以及之后的CloseHandle),但我很好奇您需要它... ...您可以使用它做的不多存储应用程序,这可能无法完成您的方案。

答案 1 :(得分:0)

终于得到了解决方案。

桌面应用程序和手机应用程序的Dll不同,但功能名称相同。

当尝试在WIn Phone 8.1中导入Kernal.dll lib并使用p / invoke代码时,将抛出异常DllNotFoundException。取而代之的是在Win Phone 8.1中使用“api-ms-win-core-processthreads-l1-1-1.dll”

要在Win Phone 8.1中获取进程ID:

1)创建与WIN32 lib的绑定:

[DllImport("api-ms-win-core-processthreads-l1-1-1.dll", CharSet = CharSet.Unicode, ExactSpelling = false, PreserveSig = true)]
    internal static extern uint GetCurrentProcessId();

2)调用函数:

  uint id= GetCurrentProcessId();

有关Win Phone 8支持的API的完整集,请参阅MSDN链接: https://msdn.microsoft.com/library/windows/apps/jj662956(v=vs.105).aspx#BKMK_ListofsupportedWin32APIs