Tourner en fond de tache (comme service Win.) / détecter une clé USB

cs_budhax Messages postés 20 Date d'inscription dimanche 18 août 2002 Statut Membre Dernière intervention 6 septembre 2007 - 11 juin 2007 à 16:32
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 - 11 juin 2007 à 17:15
Je dois réaliser une application en Java qui (entre autres), doit:
- tourner en fond de tâche comme une Service Windows.
- tester toute les 5 min. si une clé USB est connecté au PC.
- ...

Pourriez-vous m'indiquer des pistes pour:
1. faire tourner une application Java en fond de tâche comme une Service Windows.
2. afficher l'icon de l'app. Java dans la barre des taches à droite (system tray).
3. exécuter une méthode toutes les 5 min.
4. détecter la présence d'une clé USB connecté au PC.
5. connaître le volume ID (no de série) d'une clé USB (celui affiché avec "dir f:" si la clé est sur la lettre F:).
6. l'app. Java se lance au démarrage de Windows.

Merci bien.

PS: quel thème de ce forum est-il le mieux adapté à mes questions?
Dave

2 réponses

Twinuts Messages postés 5373 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 10 août 2022 110
11 juin 2007 à 17:13
Salut,

1 - utilise java service wrapper(une recherche sur les sources et le fourum t'aurait évité la question)
2 - utilise le jdk 1.6 et regarde sur ce site il y a des exemples de sources (une recherche sur les sources et le fourum t'aurait évité la question)
3 - utilise un Thread ou un timer
4 & 5 - utilise une API pour ça recherche google java usb
6 - tu peux mettre un lien vers le rep démarrage de windows (je sais plus ou il se trouve mais je crois que c'est dans document and settings sinon tu le mets dans la clé Run de la base de registre (HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run)

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
1
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 2
11 juin 2007 à 17:15
slt.
Les pistes:
   1- si tu es sous linux tu fait un demon; si non .... j'men rappel plus, dsl.

   2- si tu es sous java 6, tu as deja tous ce qu'il faut pour faire ce que tu veux.

   3- tu creer un Thread dans le quel tu fait une pause de 5 * 60 * 1000 ((60 * 1000) min * 5), quand ta pause est terminer tu fait l'action que tu veux; et tu reprend la pause:

int tonTemps = 5 * 60 * 1000;
while (true) {
    try{
       Thread.sleep(tonTemps);
     }catch (Exception ex) {}
}

   4- j'croi pas que se soit possible, j'pense qu'il faut que tu utilise du JNI. va voir sur les source poster par Ombitious_Developper.

   5- je sais pas (enfin.. je croi).

   6- tu peut creer une clef dans le registre ou bien creer un lien de ton application dnas la liste des programmes qui se lancen,t au demarrage de windows (pour linux j'c pas).

voila.
j'espere que ca te convient comme reponse. +
0