我試過尋找這個問題的答案......原諒我,如果我忽視了它。如果Microsoft Outlook已經打開,如何檢查C#?
我想要做的是自動發送電子郵件。我在代碼中擁有我想要的所有內容,但代碼假定Outlook未打開。
有沒有一種方法可以讓我測試Outlook在打開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);
「的代碼假定Outlook未打開」< - 這是什麼意思? –
您可以使用WMI - > select * from win32_process並檢查名稱屬性,如果找不到outlook.exe,可以打開它。另一種方式可能是[Process.GetProcessesByName](https://msdn.microsoft.com/de-de/library/z3w4xdc9(v = vs.110).aspx) –
對不起,不盡可能清晰。我想說的是,即使代碼已經打開,此代碼也會打開Outlook的一個實例。我想要做的是在打開另一個實例之前測試Outlook是否打開。 –