Épingler un exécutable Java (avec launch4j) à la barre des tâches Windows 7

après avoir passé une demi-journée à chercher et à essayer, j'abandonne enfin.

j'ai une application java dont je crée un jar exécutable (pour inclure tous les autres libs et juste avoir un seul fichier jar). Avec launch4j et le jar exécutable, je fais un exécutable "MyApp.EXE."

l'exécutable ist fonctionne très bien, mais je veux l'épingler à ma barre des tâches windows 7. Pour l'instant, j'ai juste la barre des tâches "Fermer la fenêtre".

Après lecture et mise en œuvre des solutions suivantes avec JNA

mon Application affiche son "Application User Model ID" correctement dans l'interface graphique (juste pour le test).

mais: mon programme est affiché comme "javaw.EXE" dans le Gestionnaire des tâches et je ne peux toujours pas le coller à la barre des tâches, même si j'ai mis l'option launch4j "custom process name and XP style manifest".

Informations générales: je travaille avec un compte administrateur windows 7 et je ne veux pas que l'application nécessite des droits d'administrateur.

de toute façon, si je démarre l'application "as administrator" à partir du menu contextuel et confirme le message UAC, je peux maintenant épingler à la barre des tâches. Mais: même si j'ai défini le " modèle D'Application utilisateur ID" correctement, windows veut toujours épingler " javaw.exe", même si mon programme est maintenant montré comme " MyApp.exe dans le gestionnaire des tâches.

je suis complètement confus. Mais je ne suis évidemment pas le seul à avoir ces problèmes. = > Voir les derniers commentaires sur la réponse de Gregory Pakosz dans en utilisant JNA pour obtenir / définir l'identificateur d'application

questions finales:

  1. Gregory Pakosz façon avec JNA pour définir la "Demande de Modèle d'Utilisateur ID" ( ) https://stackoverflow.com/a/1928830/1128689 ) travaille pour moi. Mais quand même, windows reconnaît mon application comme une instance de "javaw.EXE." Que dois-je faire?
  2. est-ce que peut-être quelques Windows ou java update ont cassé quelque chose ici?
  3. Dois-je vraiment exécuter mon application avec des droits d'utilisateur élevés? Je ne veux vraiment pas...
  4. y a-t-il d'autres options dans launch4j que je dois configurer?
  5. dois-je utiliser un fichier manifeste dans launch4j?
28
demandé sur Community 2012-03-28 19:16:55

4 réponses

j'ai obtenu ce travail en créant un Exe à partir d'un bocal runnable avec l'aide de JSmooth .Je l'ai épinglé à la barre des tâches, et je l'ai lancé sans problème.

Espérons que cette aide

1
répondu Reg 2012-04-05 07:47:05

êtes-vous à la recherche de ceci, que j'ai utilisé dans mon application pour montrer l'application Java en cours d'exécution sur windows taskbar..

SystemTray systemTray = new SystemTray(composite, parent.getShell(), parent.getDisplay(), "My Application");
systemTray.makeSystemTray();
1
répondu Kishore 2012-04-23 11:00:33

Aucun problème avec les winrun4j , ce qui est plus récent et plus facile à utiliser que Jsmooth

1
répondu Paul Taylor 2012-08-22 19:16:20

la cause principale: javaw est enregistré comme un processus hôte (dans le registre de Windows). Le comportement de raccourci est probablement causé par les suivants (source: application User Model IDs (AppUserModelIDs) )

AppUserModelIDs définis par L'Application et définis par le système

certaines applications ne déclarent pas un AppUserModelID explicite. Ils sont facultatif. Dans ce cas, le système utilise une série de l'heuristique assigner un AppUserModelID interne.

[...]

si le processus a été lancé par un raccourci qui contient le lancement arguments (généralement le contenu cible pour héberger comme l '" application"), le système peut déterminer l'identité et l'application peut être épinglé et relancé.

Sur le Processus d'Hôte de comportement:

enregistrement d'une demande en tant que Processus Hôte

une application peut définir l'entrée du registre IsHostApp pour que le processus de l'exécutable soit considéré comme un processus hôte par la barre des tâches. Cela affecte son regroupement et les entrées de liste de saut par défaut.

1
répondu Rekin 2013-08-23 17:25:46