星期三 天气:多云
以前写的 我在单位习惯使用左手鼠标了 同事们用着不方便 所以
public class SwapMouseButton{ static{ System.loadLibrary("SwapMouseButton"); } private native void swap(boolean flag); private native String getString(); public static void main(String[] args){ SwapMouseButton oSMB = new SwapMouseButton(); if(args.length==1){ if(args[0].equals("true")) oSMB.swap(true); if(args[0].equals("false")) oSMB.swap(false); } } }
使用 javah 编译该类 生成 SwapMouseButton.h
/* DO NOT EDIT THIS FILE - it is machine generated */ #include <JNI.H> /* Header for class SwapMouseButton */ #ifndef _Included_SwapMouseButton #define _Included_SwapMouseButton #ifdef __cplusplus extern "C" { #endif /* * Class: SwapMouseButton * Method: swap * Signature: (Z)V */ JNIEXPORT void JNICALL Java_SwapMouseButton_swap (JNIEnv *, jobject, jboolean); /* * Class: SwapMouseButton * Method: getString * Signature: ()Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_SwapMouseButton_getString (JNIEnv *, jobject); #ifdef __cplusplus } #endif #endif
再写一个本地调用 c++文件:SwapMouseButton.cpp 编译成 dll
#include <WINDOWS.H> #include <IOSTREAM> #include "SwapMouseButton.h" using namespace std; JNIEXPORT void JNICALL Java_SwapMouseButton_swap(JNIEnv* JEnv, jobject obj, jboolean flag){ SwapMouseButton(flag); cout << "Swaped Sucess." << endl; } int main(){ return 0; } 运行java 程序 就可以了。