如何使用Win32 API获取Windows中应用程序的HANDLE过程

时间:2010-11-03 16:06:29

标签: winapi

我正在使用Java Native Access(JNA)来使用Win32 API(kernel32.dll)来设置应用程序的priroty和affinity。应用程序名称(名称字符串的一部分)是已知的,我需要找出应用程序进程的HANDLE。一旦我知道了该过程的HANDLE,我就可以使用Win32 API SetPriorityClass和SetProcessAffinityMask来修改应用程序优先级和CPU亲和性。

SetPriorityClass和SetProcessAffinityMask都需要进程的HANDLE作为输入。

更多信息。我有一个Java应用程序调用VM容器来启动名为​​“Mylinux”的VM实例。 “Mylinux”的VM实例将作为Windows中的应用程序运行,但VM容器附加了附加字符串以形成应用程序名称,即“Mylinux(snapshot3)...”作为Windows任务管理器中显示的应用程序名称。我希望Java应用程序使用JNA(Win32 API接口)来修改应用程序的优先级和CPU亲和力。

我需要知道WIN32 API,它可以返回给定应用程序名称(应用程序的一部分,而不是整个字符串)的进程的HANDLE。

由于 约翰

1 个答案:

答案 0 :(得分:2)

当前进程的GetCurrentProcess()。

用于远程进程的OpenProcess()。 See the example

您可以在MSDN中找到更多信息。

相关问题