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

Signaler
Messages postés
20
Date d'inscription
dimanche 18 août 2002
Statut
Membre
Dernière intervention
6 septembre 2007
-
Messages postés
845
Date d'inscription
mardi 25 avril 2006
Statut
Membre
Dernière intervention
1 août 2017
-
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

Messages postés
5365
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
12 août 2021
111
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
Messages postés
845
Date d'inscription
mardi 25 avril 2006
Statut
Membre
Dernière intervention
1 août 2017
2
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. +