我自己現在有兩個思路 1 Runtime.getRuntime().exe("cmd /c tasklist"); 2 sigar.jar 問題在于:第一種方式不穩定,而且這種方式如何在非windows系統下實現? 第二種方式,需要依賴dll文件和so文件,而且這些文件必須部署到jdk\bin,這樣很不方便。 請教高手:1 可還有別的更好的思路? 2 第一種方式如何在非windows下實現 3 第二種方式,這些文件能不能不放到jdk\bin,而放到別的地方,用批處理指定路徑也行。怎么做呢?
2 回答

慕娘9325324
TA貢獻1783條經驗 獲得超4個贊
//簡單地得到windows進程
#include <windows.h>
#include <tlhelp32.h>
#include <stdio.h>
void main()
{
PROCESSENTRY32 p;
HANDLE h;
h=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
p.dwSize=sizeof(p);
Process32First(h,&p);
do {
printf( "id=%.8x exename=%s\n ",p.th32ProcessID,p.szExeFile);
}
while (Process32Next(h,&p));
CloseHandle(h);
}
添加回答
舉報
0/150
提交
取消