6
votes

Trouver le client de messagerie par défaut

Utiliser c #, comment puis-je déterminer quel programme est enregistré en tant que client de messagerie par défaut? Je n'ai pas besoin de lancer l'application, je veux juste savoir ce que c'est.


0 commentaires

5 Réponses :


8
votes

Vous pouvez regarder dans le registre de la clé suivante:

HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail


0 commentaires

3
votes

Vous pouvez lire cette clé de registre à partir de

HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail


0 commentaires

1
votes

Je pense que vous devriez pouvoir trouver cette information dans le registre à HKLM \ Software \ Clients \ Mail .

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


0 commentaires

11
votes

Utilisez la classe de registre pour rechercher 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());
      }
   }
}


2 commentaires

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.


Y a-t-il de toute façon comment lancer l'application?



3
votes

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

Cela ne vous donne également que le nom de l'application de messagerie. Si vous souhaitez que son nom de fichier exécutable, vous devez continuer à faire quelque chose comme: xxx

puis supprimer quelque chose de plus extrêmement extrait de la chaîne de ligne de commande que vous n'avez pas besoin ( citations, paramètres).


0 commentaires