Salut !
J'ai quelques soucis pour utiliser JNI
Tout d'abord, voila quelques infos concernant mon ordi, histoire de poser le décor :
- Win XP comme OS
- Eclipse pour compiler le JAVA
- Dev C pour compiler le C
Tous les tutos que j'ai consulté donnent cette méthode :
1- Ecrire code JAVA (avec appel de la dll) - ça c'est fait
2- Compiler code java (sauf que là j'ai un problème : eclipse veut pas compiler car il trouve pas le fichier dll, normal puisqu'on la créée à l'étape 4...)
3- Générer fichier .h avec javah (c'est quoi javah ? ça marche aussi avec windows ?)
4- Ecrire code C (en incluant le .h) - ça c'est fait aussi
5- "Enfin, il ne reste plus qu'a générer le fichier .dll" (point final... les rédacteurs de tutos ont pas pensé que c'était pas aussi évident pour les p'tits débutants comme moi ^^)
Voila mon code JAVA :
et mon code C (normalement le contenu n'a pas trop d'importance)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public class VLCJNI { public static native void SetVlcForeground(); static { System.loadLibrary("SetVlcForegroundLib"); // appel du fichier dll } public static void main(String[] args) { VLCJNI.SetVlcForeground(); // lancement du bout de code ecrit en C } }
Quelqu'un pourrait m'expliquer clairement comment se servir de JNI avec Windows ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #include <jni.h> #include <windows.h> #include <stdio.h> #include <stdlib.h> #include VLCJNI.h JNIEXPORT void JNICALL Java_VLCJNI_SetVlcForeground(JNIEnv *env, jobject obj) { HWND hvlc = FindWindow("wxWindowClassNR",NULL); SetForegroundWindow(hvlc); return 0; }
Merci d'avance
Mad
Partager