Создание новой почты (клиент по умолчанию) из Java / Windows - PullRequest
1 голос
/ 06 августа 2009

Я хочу открыть представление «Новая почта» с помощью почтового клиента по умолчанию (т. Е. Открыть новую почтовую форму в Outlook). Но когда я иду

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

почта появляется, но у меня проблема: explorer.exe вызывает экземпляр Internet Explorer с фиктивной страницей. Есть ли лучшее приложение для запуска, такое как rundll.exe с определенными аргументами?

Я знаю, что это можно сделать без вызова iexplore из C ++, но я не знаю, как в Java.

Ответы [ 2 ]

2 голосов
/ 06 августа 2009

Попробуйте с java.awt.Desktop (java 6)

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

откроет почтовый клиент по умолчанию (тот, который связан с протоколом mailto:).

1 голос
/ 06 августа 2009

Я нашел ответ при поиске rundll.exe:

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

Извините за потраченное время!

...