如何检查Windows系统上安装的默认邮件客户端是什么?

时间:2014-04-15 06:48:52

标签: c# wpf email outlook

我正在使用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等。

由于

德布

1 个答案:

答案 0 :(得分:0)

我刚刚尝试了这个,我得到了这个错误,因为Outlook 2010已安装但从未配置解决此问题,当系统报告Outlook 2010(也许还有其他版本)时,您会找到一种方法来测试客户端是否是配置。 This might be a good start

// KH。