Créer un raccourci Windows en Java

Aller en bas

Créer un raccourci Windows en Java Empty Créer un raccourci Windows en Java

Message  Gus le Jeu 6 Déc - 14:01

Faute d'avoir trouvé une méthode qui fonctionne avec JNA (mais ça viendra...)
voici déjà une solution provisoire en appelant un petit exe qui fait le travail :
Shortcut.exe (téléchargeable à partir de http://www.optimumx.com/downloads.html#Shortcut)

Il faut donc placer ce petit fichier exe dans un répertoire de votre choix et puis ensuite le code est très simple :

Code:
public static void createShortcut(File targetFile, File lnkFile, File exeFile, File icoFile) throws Exception
{
   String command = p_(exeFile)+" /a:c /f:"+p_(lnkFile)+" /t:"+p_(targetFile)+" /i:"+p_(icoFile)+" /w:"+p_(targetFile.getParentFile());
   Runtime.getRuntime().exec(command);
}

public static String p_(File f)
{return "\""+f.getAbsolutePath()+"\"";}

targetFile : le fichier cible pour lequel vous souhaitez créer un raccourci Windows
lnkFile : l'emplacement du futur raccourci Windows (doit avoir l'extension .lnk)
exeFile: l'emplacement du fichier Shortcut.exe
icoFile: le fichier (optionnel) d'icône Windows (extension .ico) utilisé pour changer l'apparence du raccourci
Gus
Gus
Admin

Messages : 249
Date d'inscription : 01/09/2009

Voir le profil de l'utilisateur http://www.gus05.com

Revenir en haut Aller en bas

Créer un raccourci Windows en Java Empty Re: Créer un raccourci Windows en Java

Message  Gus le Ven 14 Déc - 11:42

J'ai pu tester l'API JShortcut développée par Jim McBeath en 2002 :
https://github.com/jimmc/jshortcut

Et ça marche bien. Smile

Cette solution se base sur un jar et une dll (en version 32bit et 64bit), et c'est toujours plus élégant que de faire appel à un exécutable externe ...
Mais après tout, il ne s'agit que d'un fichier à générer et une solution en pure java est parfaitement envisageable.
Je reste aussi persuadé que JNA doit pouvoir le faire très bien.
Gus
Gus
Admin

Messages : 249
Date d'inscription : 01/09/2009

Voir le profil de l'utilisateur http://www.gus05.com

Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum