Avant toutes choses, je voulais remercier ChriChri sans qui ce tutoriel n'aurait pas vu le jour.
Il vous est certainement déjà arrivé de vous dire en développant un programme Java "Ah, je sait que la bibliothèque Windows existe, mais comment l'appeler ?". Pour vous aider à ne plus être limité par les fonctionnalités de base de Java, voici un petit tutoriel vous permettant d'apprendre à appeler une bibliothèque système.
1) Un compilateur C. Je vous conseille le "Borland C++ Compiler 5.5.1" en ligne de commande qui est gratuit (freecommandLinetools.exe).
2) La package de base est à décompacter dans votre
répertoire de travail.
Il contient deux répertoires :
Le premier /src, contient le code source d'une classe java
com/penpen/util/SystemInfo.java réalisant l'appel aux bibliothèques
systhèmes. Le second /cpp contient deux fichiers
"CreateDLL.bat" et "SystemInfo.c". Le code c de ce
dernier fait appel à la fonction GetLogicalDriveStrings() de la
bibliothèque "windows.h". Vous trouverez une référence sur
l'ensemble des bibliothèques systèmes sur le site de Microsoft.
Voici le contenu du fichier bat :
|
Dans cette première
section, adaptez les valeurs avec celles de votre configuration.
Dans la section suivante, on nettoie et on positionne le répertoire de
travail.
|
Ensuite, on exécute la Javah.exe pour extraire le fichier ".h" de la classe java.
|
Il ne reste plus qu'à compiler le code C, avec les bonnes options pour enchainer le linkage.
|
Il reste encore une
dernière chose à faire : Supprimer les fichiers du hander java, de
compilation et de linkage C.
N'oublier pas non plus de mettre la DLL générée dans votre PATH, ce qui
est fait ici en le mettant dans le répertoire de Windows :
|
Et voilà, c'est tout.