我正在开发Windows Phone 8.1应用程序,需要从代码中获取应用程序进程ID。我能用它获得的任何API吗?
答案 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