【发布时间】:2017-10-24 18:13:38
【问题描述】:
如何使用 JNA 4.5.0 获取 Java 中所有正在运行的进程的列表?
我已经尝试过这段代码:
WinNT winNT = (WinNT) Native.loadLibrary(WinNT.class, W32APIOptions.UNICODE_OPTIONS);
winNT.HANDLE snapshot = winNT.CreateToolhelp32Snapshot(Tlhelp32.TH32CS_SNAPPROCESS, new WinDef.DWORD(0));
Thelp32.PROCESSENTRY32.ByReference processEntry = new Tlhelp32.PROCESSENTRY32.ByReference();
while (winNT.Process32Next(snapshot, processEntry)) {
System.out.println(processEntry.th32ProcessID + "\t" + Native.toString(processEntry.szExeFile));
}
winNT.CloseHandle(snapshot);
但它不起作用,因为它是为旧版本的 JNA lib 编写的。
【问题讨论】: