J'ai essayé de trouver la réponse à cette question ... Pardonnez-moi si je l'ai oublié. Ce que j'essaye de faire est d'automatiser l'envoi d'un email.Comment vérifier avec C# si Microsoft Outlook est déjà ouvert?
J'ai tout ce que je veux dans ce code, mais le code suppose que Outlook n'est pas ouvert.
Existe-t-il un moyen pour moi de tester si Outlook est ouvert avant d'ouvrir une autre instance d'Outlook?
Microsoft.Win32.RegistryKey key =
Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\\microsoft\\windows\\currentversion\\app paths\\OUTLOOK.EXE");
string path = (string)key.GetValue("Path");
if (path != null)
System.Diagnostics.Process.Start("OUTLOOK.EXE");
else
MessageBox.Show("There is no Outlook in this computer!", "SystemError", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
"le code suppose que Outlook est pas ouvert" <- qu'est-ce que cela signifie? –
Vous pouvez utiliser WMI -> select * de win32_process et vérifier la propriété name, si vous ne trouvez pas outlook.exe, vous pouvez l'ouvrir. un autre moyen pourrait être [Process.GetProcessesByName] (https://msdn.microsoft.com/de-de/library/z3w4xdc9 (v = vs.110) .aspx) –
Désolé de ne pas être aussi clair que possible. Ce que j'essaie de dire, c'est que ce code ouvre une instance d'Outlook même si elle est déjà ouverte. Ce que j'essaie de faire est de tester pour voir si Outlook est ouvert avant d'ouvrir une autre instance. –