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,也许有用.
分类:
Java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述