almadeus a écrit :
C une bidouille, je sais que tu vas gueuler mais bon, en fait je voulais juste bloquer l'ouverture de mon logiciel plusieurs fois.
Alors finalement, je créé un fichier temp à l'ouverture du logiciel que je modifie toutes les 5 minutes. Comme çà à l'ouverture du logiciel je regarde la dernière date de modif du fichier.
J'essaye de capturer actuellement un 'CTRL ALT SUPP'(afin d'effacer le fichier temp) car dans ce cas le programme peut être fermé et demande de réouverture aussitôt par l'utilisateur (si dans les 5 minutes après le kill du programme souci ).
Dans le cas d'une fermeture normal effacement du fichier temp.
Pas très économe en ressource machine mais bon, c la seule chose qui me vienne à l'esprit.
|
Mon Dieu que c'est sale...
Pour creer des fichiers de lock il faut utiliser une instance de java.io.File et faire un appel a deleteOnExit(). Ainsi le fichier sera efface a l' "extinction" de la VM (si toutefois c'est un arret normal et sigquit est bel et bien normal). Au lancement tu verifies si le fichier existe si oui -> quit, sinon tu le crees.
Cela fonctionne depuis le JDK 1.2 (donc un bail deja). Toutefois si tu veux locker un fichier, il est conseille si tu peux utiliser une JDK 1.4 d'utiliser une instance de java.nio.FileLock.
Sinon pourquoi ecrire toutes les 5 mins dans le fichier ? Il te suffit de checker son existance. Tu fais un File file = new File("name" ); puis if (file.exists()) { ... } .... Ton approche est bizarre.
A+ 
Message édité par phenixl le 03-01-2003 à 22:45:05