[JAVA] rechercher le path d'une application

Salut à tous,

Je cherche à rechercher automatiquement le path d’une application dans un os.
Par exemple, rechercher acrod32.exe dans windows ou OO dans unix…

But final : lancer cette appli en fond de tache pour piloter des impressions

avec un peu de chance, l’OS sait où sont rangé les applis.
Premièrement je testerais en lançant directement l’appli désiré


RunTime.getRunTime.exec("acrod32.exe");

sinon pour windows, tu peux rechercher dans la bdr le path de %ProgramFiles% , puis ajouter les noms des exécutables. Ou rechercher directement le chemin de lancement. (à condition de savoir quelle clé lire).

pour effectuer des recherches dans le registre : http://64.18.163.122/rgagnon/javadetails/java-0480.html

RunTime.getRunTime.exec(“notepad.exe”) fonctionne pour les appels d’applications windows
pour acrobat par exemple, obliger d’avoir le chemin complet

La méthode la plus rapide que je vois c’est d’identifier l’extension du fichier dont dépend l’application et de lire dans le root de la base de registre l’application qui est lancée par défaut, il y a toujours son chemin.

HKEY_CLASSES_ROOT\acrobat\shell\open\command pour les pdf par exemple.

oui bonne idée effectivement

mias cela ne fonctionne que sous Windows, comment faire sous Linux ?

Sous Linux, pas le choix, faudra parser tout le disque dur :confused:
Pour accélérer la recherche, tu pourras éviter certains répertoire genre /tmp, /etc/ … et commencer par certains qui paraitrons plus évident ( /usr/bin, /usr/local/bin, /usr/share/ etc …).

As-tu regardé du coté de PrintJob?

Le type application/pdf est dans le chapitre “recommended DocFlavors” de la classe DocFlavor… Pas moyen d’imprimer par là?

[troll]
C’est vraiment pour les flemmards le Java, tout existe déjà (en plus ça rime) :ane:
[/troll]