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. P>
5 Réponses :
Vous pouvez regarder dans le registre de la clé suivante:
HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail
Vous pouvez lire cette clé de registre à partir de
HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail
Je pense que vous devriez pouvoir trouver cette information dans le registre à Recherchez la valeur de chaîne par défaut. p> HKLM \ Software \ Clients \ Mail Code>. P>
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()); } } }
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?
Le client de messagerie par défaut dépend de l'utilisateur. 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: p> 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). p> p> hklm code> 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 CODE>.