Olá pessoal!!
Eu preciso acessar uma DLL usando JNI, mas o problema é que não está funcionando.
Fiz tudo de acordo com esses tutoriais:
[url]http://forum-invaders.com.br/phpBB/viewtopic.php?f=63&t=8551746[/url]
[url]http://java.sun.com/developer/onlineTraining/Programming/JDCBook/jniexamp.html[/url]
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class ExecutaDll */
#ifndef _Included_ExecutaDll
#define _Included_ExecutaDll
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: ExecutaDll
* Method: setDateTime
* Signature: (IIIIII)Z
*/
JNIEXPORT jboolean JNICALL Java_ExecutaDll_setDateTime
(JNIEnv *, jclass, jint, jint, jint, jint, jint, jint);
#ifdef __cplusplus
}
#endif
#endif
#include "ExecutaDll.h"
#include <Windows.h>
JNIEXPORT jboolean JNICALL Java_ExecutaDll_setDateTime
(JNIEnv * env, jclass obj, jint year, jint month, jint day, jint hour, jint minute, jint second) {
SYSTEMTIME time;
time.wYear = year;
time.wMonth = month;
time.wDay = day;
time.wHour = hour + 3;
time.wMinute= minute;
time.wSecond = second;
return SetSystemTime(&time);
}
package br.com.unimake.nativo;
/**
*
* @author Eliangela
*/
public class ExecutaDll {
public static void main(String[] args) {
setDateTime(2010, 02, 01, 01, 01, 01);
}
static {
System.loadLibrary("w32");
}
public static native boolean setDateTime(int year, int month, int day, int hour,
int minute, int second);
}
Exception in thread "main" java.lang.UnsatisfiedLinkError: br.com.unimake.nativo.ExecutaDll.setDateTime(IIIIII)Z
at br.com.unimake.nativo.ExecutaDll.setDateTime(Native Method)
at br.com.unimake.nativo.ExecutaDll.main(ExecutaDll.java:32)
Java Result: 1
Obrigada
