Java
class JavaHowTo { public native long getCurrentProcessId(); static { System.loadLibrary("jni2"); } }
“`{.java} public class JNIJavaHowTo { public static void main(String[] args) { JavaHowTo jht = new JavaHowTo(); System.out.println(“Press Any key…”); java.io.BufferedReader input = new java.io.BufferedReader(new java.io.InputStreamReader(System.in)); try { input.readLine();} catch (Exception e) { e.printStackTrace();} System.out.println(jht.getCurrentProcessId()); } }
```{cpp} // jni2.cpp : Defines the entry point for the DLL application. // #include "stdafx.h" #include <process.h> #include "JavaHowTo.h" BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { return TRUE; } JNIEXPORT jlong JNICALL Java_JavaHowTo_getCurrentProcessId (JNIEnv *, jobject) { // return GetCurrentProcessId(); return getpid(); }
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/10457.html