2009-07-13 4 views

Répondre

9

Utilisez la classe Registry pour effectuer une recherche dans le registre. Cette application de console démontre le principe.

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

Le client de messagerie par défaut est une stratégie par utilisateur. Je suis d'accord avec la réponse de William Parke ci-dessous. – JDennis

+0

Y at-il de toute façon comment lancer l'application? – Rich

8

Vous pouvez regarder dans le Registre sur la clé suivante:

HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail 
+2

+1 seulement un peu plus rapide que moi ... – Jonathan

3

Vous pouvez lire cette clé de Registre de

HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail 
1

Je pense que vous devriez être en mesure de trouver cette information dans le registre HKLM\Software\Clients\Mail.

Recherchez la valeur de chaîne par défaut.

3

Le client de messagerie par défaut dépend de l'utilisateur. HKLM répertorie tous les clients de messagerie enregistrés; le premier retourné peut ne pas être la valeur par défaut de l'utilisateur actuel. Mieux vaut lire HKEY_CURRENT_USER\Software\Clients\Mail.

Aussi, cela ne vous donne que le nom de l'application de messagerie. Si vous voulez son nom de fichier exécutable, vous devez aller avec quelque chose comme:

object mailCommand = Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\" + mailClient.ToString() + @"\shell\open\command", "", "none"); 

puis enlever tout ce qui parasite de la chaîne de ligne de commande que vous n'avez pas besoin (guillemets, paramètres).

Questions connexes