使用C#,我怎样才能确定哪个程序被注册为默认的电子邮件客户端?我不需要启动应用程序,我只是想知道它是什么。查找默认电子邮件客户端
6
A
回答
9
使用注册表类来搜索注册表。该控制台应用程序演示了原理。
using System;
using Microsoft.Win32;
namespace RegistryTestApp
{
class Program
{
static void Main(string[] args)
{
object mailClient = Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail", "", "none");
Console.WriteLine(mailClient.ToString());
}
}
}
8
你可以在注册表中查找以下关键:
HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail
+2
+1只比我快一点... – Jonathan 2009-07-13 14:28:52
3
您可以从
HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail
1
阅读此注册表项我想你应该可以在注册表中找到这些信息在HKLM\Software\Clients\Mail
。
查找默认字符串值。
3
默认的电子邮件客户端取决于用户。 HKLM
列出所有注册的电子邮件客户端;第一个返回的可能不是当前用户的默认值。更好地阅读HKEY_CURRENT_USER\Software\Clients\Mail
。
此外,这只给你电子邮件应用程序的名称。如果你想它的可执行文件名,你必须去与类似:
object mailCommand = Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\" + mailClient.ToString() + @"\shell\open\command", "", "none");
,然后删除任何东西从你不需要(报价参数)命令行字符串无关。
相关问题
- 1. 按电子邮件并打开默认电子邮件客户端
- 2. 将附件添加到客户端的默认电子邮件客户端
- 3. 如何打开默认的电子邮件客户端附件
- 4. 使用默认电子邮件客户端发送文档
- 5. Android默认电子邮件客户端的html支持
- 6. mailto没有默认的电子邮件客户端
- 7. Javascript打开默认电子邮件客户端不起作用
- 8. 使用AppleScript通过默认电子邮件客户端发送邮件附件
- 9. 发送带附件的电子邮件(默认邮件客户端)
- 10. 如何使用vb.net中的默认电子邮件客户端发送带附件的电子邮件
- 11. 发送电子邮件客户端兼容电子邮件
- 12. 检测电子邮件发送的电子邮件客户端
- 13. 是否可以阅读默认Android电子邮件客户端的收件箱?
- 14. java中的电子邮件客户端
- 15. 电子邮件客户端检测
- 16. Django电子邮件客户端
- 17. 从客户端发送电子邮件
- 18. 从客户端发送电子邮件
- 19. 通过客户端发送邮件,无需启动电子邮件客户端(无提示电子邮件)
- 20. 从ActiveScript Flash调用系统默认的电子邮件客户端?
- 21. 如何在Android中设置默认电子邮件客户端中的主题?
- 22. 在默认的电子邮件客户端发送PDF - Android应用程序
- 23. 打开默认电子邮件客户端并预先填充内容
- 24. 如何以编程方式配置Android的默认电子邮件客户端
- 25. Xamarin.Forms如何打开设备上的默认电子邮件客户端?
- 26. 使用C#代码检查默认邮件客户端
- 27. 如何使用用户的默认电子邮件客户端弹出撰写/创建邮件对话框?
- 28. 寻找一个蹩脚的电子邮件客户端
- 29. ANDROID |只发送电子邮件附件与电子邮件客户端
- 30. 使用openURL从Yahoo邮件客户端发送电子邮件
默认的电子邮件客户端是按用户策略。我同意下面的William Parke的回应。 – JDennis 2014-04-30 14:14:51