En utilisant 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.Rechercher le client de messagerie électronique par défaut
Répondre
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());
}
}
}
Vous pouvez regarder dans le Registre sur la clé suivante:
HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail
+1 seulement un peu plus rapide que moi ... – Jonathan
Vous pouvez lire cette clé de Registre de
HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail
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.
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).
- 1. Le courrier électronique en texte clair/HTML ne fonctionne pas avec le client de messagerie électronique
- 2. Chaînes d'agent utilisateur de client de messagerie électronique courantes
- 3. Prise en charge du client de messagerie pour les images PNG dans le courrier électronique HTML
- 4. Messagerie client vers client C#
- 5. Synchronisation du moniteur de messagerie électronique
- 6. formulaire html dans le client de messagerie
- 7. Comment définissez-vous une application personnalisée en tant que client de messagerie par défaut dans Windows dans le code
- 8. Détection du client Outlook 2007 dans le courrier électronique
- 9. Problème de flux de données de messagerie électronique PHP
- 10. .net changement cible client par défaut
- 11. Comment changer NLS_DATE_FORMAT par défaut pour le client Oracle jdbc
- 12. Formulaire d'envoi sans client de messagerie
- 13. Construction d'un client de messagerie Pop3 (basé sur le Web)
- 14. Alertes de messagerie SharePoint
- 15. Comment ouvrir la boîte de dialogue de composition/création de courrier à l'aide du client de messagerie par défaut de l'utilisateur?
- 16. Vidéo dans le courrier électronique?
- 17. Conventions par défaut de NHibernate par défaut
- 18. fonction de courrier électronique
- 19. Comment ajouter un éditeur de courrier électronique par défaut à tous les projets dans CruiseControl.NET?
- 20. Nouvelles notifications par courrier électronique dans Gnus pour Emacs
- 21. Les formulaires Outlook peuvent-ils être consultés par d'autres personnes n'utilisant pas Outlook comme programme de messagerie électronique?
- 22. Vue par défaut de l'élément de liste par défaut Sharepoint
- 23. Meilleur moyen de rechercher la valeur par défaut d'une colonne dans Sql Server
- 24. Choisir une solution de messagerie
- 25. Comment ouvrir un client de messagerie et le fichier associons automatiquement en java
- 26. Lucene (Java) - Comment spécifier le champ de recherche par défaut par programme?
- 27. Traitement du courrier électronique entrant
- 28. Développer le menu Drupal par défaut
- 29. WPF: rétablir le pinceau par défaut/original
- 30. Définir le format DateTime par défaut C#
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
Y at-il de toute façon comment lancer l'application? – Rich