XSLT存档  

不及格的程序员-八神

 查看分类:  ASP.NET XML/XSLT JavaScripT   我的MSN空间Blog
随笔 - 878,  文章 - 0,  评论 - 1190,  阅读 - 34万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

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   不及格的程序员-八神  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示