1 votes

Création d'un nouveau courrier (client par défaut) à partir de Java/Windows

Je veux ouvrir la vue "nouveau courrier" en utilisant le client de messagerie par défaut (c'est-à-dire ouvrir un formulaire de nouveau courrier dans Outlook). Mais lorsque je vais

String cmd = "explorer.exe \"mailto:a@b.com?subject="+
             subject+"&body="+body+"\"";
Runtime.getRuntime().exec(cmd);

le courrier s'affiche, mais j'ai un problème : explorer.exe fait apparaître une instance d'Internet Explorer avec une page fictive. Existe-t-il une meilleure application à exécuter, comme rundll.exe avec certains arguments ?

Je sais qu'il est possible de le faire sans faire apparaître iexplore depuis C++, mais je ne sais pas comment faire en Java.

2voto

RealHowTo Points 13117

Essayez avec java.awt.Desktop (java 6)

Desktop dt = Desktop.getDesktop();
dt.mail();

ouvrira le client de messagerie par défaut (celui associé au protocole mailto :).

1voto

Jonas Byström Points 5106

J'ai trouvé la réponse en cherchant rundll.exe sur Google :

String subject = ...;
String body = ...;
String cmd = "rundll32.exe shell32.dll,ShellExec_RunDLL \"mailto:a@b.com?"+
             "subject="+subject+"&body="+body+"\"";
Runtime.getRuntime().exec(cmd);

Désolé de vous faire perdre votre temps !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X