关于 exec("cmd /c start ...)

我想要启动系统默认的mail程序 在windows上写了下面的代码:

Runtime.getRuntime.exec("cmd /c start mailto:xxx@cn.xxx.com?subject=whatever&body=whatever");

效果是默认的mail程序启动了但是没有body

如果直接在在windows 的start menue 中的 run 填写 mailto:xxx@cn.xxx.com?subject=whatever&body=whatever(或者直接在浏览器的地址栏敲 mailto:xxx@cn.xxx.com?subject=whatever&body=whatever) 就能够启动默认的mail程序并且subject和body齐全。

我猜想应该是在执行exec时候把字符串里的“&以及后面的部分”给解析错了,小弟尝试了多种方法都不得其所。渴望大侠前来赐教!

把 mailto: 后面的部分加上引号即可

"cmd /c start mailto:[color=red]\"[/color]xxx@cn.xxx.com?subject=whatever&body=whatever[color=red]\"[/color]"