java 怎么获取当前进程的映像名称
答案:2 悬赏:80 手机版
解决时间 2021-01-26 03:08
- 提问者网友:凉末
- 2021-01-25 08:46
java 怎么获取当前进程的映像名称
最佳答案
- 五星知识达人网友:山君与见山
- 2021-01-25 10:21
网上查了一些资料,说是没办法直接在 java 中获取到,
网上资料说,可以使用 java 的 native 方法,通过在 c++ 中实现 native 方法,此时就可以在 java 中直接调用了。
例子:
public class JavaNative {
static {
try {
System.loadLibrary("JavaNativeDLL.dll");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load.\n" + e);
}
}
public native java.util.List getProcessList();
public native List getProcessIDList();
public native String getProcessName(long processID);
}
然后,你通过 C++ 写一个 JNI 来实现上面这个 JavaNative 的 Class 类,然后编绎生成出一个 JavaNativeDLL.dll ,然后在 JavaNative 中加载这个 JavaNativeDLL.dll。
这样,你在任何 java 程序中可以像普通 java 调用方法一样,直接使用 JavaNative 来获取到进程名称了。
使用方法:
public static void main(String[] args) {
JavaNative jn = new JavaNative();
List list = jn.getProcessIDList();
for(int i=0; i
String processName = jn.getProcessName((long)list.get(i));
System.out.println("进程名称是:" + processName );
}
}
网上资料说,可以使用 java 的 native 方法,通过在 c++ 中实现 native 方法,此时就可以在 java 中直接调用了。
例子:
public class JavaNative {
static {
try {
System.loadLibrary("JavaNativeDLL.dll");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load.\n" + e);
}
}
public native java.util.List getProcessList();
public native List getProcessIDList();
public native String getProcessName(long processID);
}
然后,你通过 C++ 写一个 JNI 来实现上面这个 JavaNative 的 Class 类,然后编绎生成出一个 JavaNativeDLL.dll ,然后在 JavaNative 中加载这个 JavaNativeDLL.dll。
这样,你在任何 java 程序中可以像普通 java 调用方法一样,直接使用 JavaNative 来获取到进程名称了。
使用方法:
public static void main(String[] args) {
JavaNative jn = new JavaNative();
List list = jn.getProcessIDList();
for(int i=0; i
System.out.println("进程名称是:" + processName );
}
}
全部回答
- 1楼网友:不甚了了
- 2021-01-25 10:42
你好!
就不告诉你..急死你
希望对你有所帮助,望采纳。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯