Domanda

Voglio aprire la "nuova posta" vista utilizzando il client di posta predefinito (vale a dire aprire un nuovo modulo di posta in Outlook). Ma quando vado

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

la posta si presenta, ma ho un problema: explorer.exe porta in primo piano un'istanza di Internet Explorer con una pagina fittizia. C'è una migliore applicazione per l'esecuzione, come ad esempio rundll.exe con certi argomenti?

So che è possibile farlo senza dover accedere iexplore da C ++, ma io non so come in Java.

È stato utile?

Soluzione

Prova con java.awt .desktop (Java 6)

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

si aprirà il client di posta predefinito (quello associato mailto: protocollo).

Altri suggerimenti

Ho trovato la risposta quando googling per 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);

Ci scusiamo per sprecare il vostro tempo!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top