JNA调用window api中的MessageBox

作者: nick 分类: C, java 发布时间: 2010-12-26 03:42 ė 61条评论

用JNA调用C/C++,很方便,写了个很简单的例子。
例子是使用Eclipse CDT + MinGW开发的:
C代码,hello.c

#include <windows.h>
#include “stdio.h”

void say(){
MessageBox (NULL, TEXT (“你好, Windows!”), TEXT (“HelloMsg”), 0);
}

将hello.c编译成libDLL2.dll,放进java的项目文件夹中,java调用方式
Java代码,dll.java

public class Dll {
public interface TestDll1 extends Library {
TestDll1 INSTANCE = (TestDll1)Native.loadLibrary(“libDLL2”, TestDll1.class);
public void say();
}
public static void main(String[] args) {
TestDll1.INSTANCE.say();
}
}

先写一个接口TestDll1映射C的方法,再通过这接口调用say(),在eclipse中编译运行这个java代码,可以看到弹出“你好,window!”的窗口。

本文出自 传播、沟通、分享,转载时请注明出处及相应链接。

本文永久链接: https://www.nickdd.cn/?p=1308

发表评论

您的电子邮箱地址不会被公开。

Ɣ回顶部