XSLT存档  

不及格的程序员-八神

 查看分类:  ASP.NET XML/XSLT JavaScripT   我的MSN空间Blog

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 程序 就可以了。
 
 
 
posted on 2023-06-21 11:42  不及格的程序员-八神  阅读(21)  评论(0编辑  收藏  举报