2009-07-13 99 views

回答

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()); 
     } 
    } 
} 
+0

默認的電子郵件客戶端是按用戶策略。我同意下面的William Parke的迴應。 – JDennis 2014-04-30 14:14:51

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"); 

,然後刪除任何東西從你不需要(報價參數)命令行字符串無關。

相關問題