Java JNI 本地调用 交换鼠标左右键
星期三 天气:多云
以前写的 我在单位习惯使用左手鼠标了 同事们用着不方便 所以
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 程序 就可以了。
南来地,北往的,上班的,下岗的,走过路过不要错过!
======================个性签名=====================
之前认为Apple 的iOS 设计的要比 Android 稳定,我错了吗?
下载的许多客户端程序/游戏程序,经常会Crash,是程序写的不好(内存泄漏?刚启动也会吗?)还是iOS本身的不稳定!!!
如果在Android手机中可以简单联接到ddms,就可以查看系统log,很容易看到程序为什么出错,在iPhone中如何得知呢?试试Organizer吧,分析一下Device logs,也许有用.