我正在使用C#WPF开发Windows 7/8 / 8.1的应用程序,为此我需要知道系统默认的邮件客户端是什么。
我搜索了Stackoverflow和Google,我找到的是
RegistryKey hklm = Registry.LocalMachine;
RegistryKey mailClients = hklm.OpenSubKey("SOFTWARE\\Clients\\Mail");
string defaultClient = (string)mailClients.GetValue("");
if (defaultClient == null)
{
MessageBox.Show("Error");
return;
}
else
Process.Start("mailto: " + "?subject=" + SomeSubject + "&body=" + Body);
但在少数情况下,这不是检查Windows系统中默认邮件客户端的最佳解决方案。例如,我有一个安装了OutLook 2010
的系统,当我尝试打开outlook email
窗口时收到错误,"The command line argument is not valid. Verify the switch you are using".
是否有任何完美的方法来确定系统是否有默认邮件客户端。它可以是任何东西,Outlook,Gmail,Yahoo邮件,ThunderBird等。
由于
德布
答案 0 :(得分:0)
我刚刚尝试了这个,我得到了这个错误,因为Outlook 2010已安装但从未配置解决此问题,当系统报告Outlook 2010(也许还有其他版本)时,您会找到一种方法来测试客户端是否是配置。 This might be a good start
// KH。