Si vous préférez ne pas utiliser Java Web Start comme l'a suggéré Andrew et que vous souhaitez apprendre comment Windows gère spécifiquement les applications par défaut, voici un guide rapide :
Lorsque vous faites un "Clic droit -> Ouvrir avec..." et définissez quelque chose comme application par défaut, une valeur de registre est créée dans HKEY_CLASSES_ROOT
avec le nom "somefileextension_auto_file" et une clé "/shell/open/command" (donc, HKEY_CLASSES_ROOT\somefileextension_auto_file\shell\Open\command
). La valeur de chaîne par défaut de cette clé est la commande shell à exécuter lorsqu'un fichier de type somefileextension
est double-cliqué. La valeur par défaut créée ressemble à quelque chose comme "c:\program files\somepath\test.exe" %1
où %1 sera une variable contenant le chemin complet du fichier double-cliqué.
Si vous voulez rendre programmable votre fichier jar l'application par défaut pour une certaine extension de fichier, vous devriez créer la clé de registre à HKEY_CLASSES_ROOT\somefileextension_auto_file\shell\Open\command
avec une valeur par défaut similaire à la suivante :
java -jar c:\quelquepart\votreFichierJar.jar %1
et votre programme devrait détecter quand un argument de ligne de commande lui est donné en utilisant public static void main(String[] args)
où args[1]
sera le chemin du fichier qui a été cliqué. Si un argument de ligne de commande est donné, votre programme devrait automatiquement essayer de l'utiliser comme fichier d'entrée.
Remarque : Ceci ne devrait vraiment pas être fait manuellement car Java a été conçu pour être multiplateforme et en tant que tel, il existe des solutions multiplateformes ( https://stackoverflow.com/tags/java-web-start/info ) mais il semble que l'auteur de la question était intéressé par la façon dont Windows gère réellement les applications par défaut. Peut-être que cela aidera un autre lecteur. Qui sait.