package keylogger;
public class TestKeys {
private static int i = 0;
private native void setWinHook();
private native void unregisterWinHook();
public static void main(String args[]) {
TestKeys o = new TestKeys();
System.loadLibrary("MyHook"); // load the library that registers the hook
Runnable r = new Runnable() {
@Override
public void run() {
System.out.println("After the call to System.loadLibrary");
}
};
new Thread(r,"new thread").start();
}
}
当我启动程序时,dll
已加载并且正常工作。但是run method
new thread
内的声明没有打印出来。这是为什么 ? 为什么java线程没有启动? dll代码不会立即返回。事实上,它无法返回。
并且:
当程序遇到语句System.loadLibrary
时是否会启动新线程?