我有一個C#應用程序,其中我通過Office PIA訪問Outlook以解析約會。在我的應用程序中,當我創建我的Outlook對象時,任務管理器中會創建一個新的Outlook過程。當我關閉我的應用程序時,我也退出了Outlook對象。這會關閉我的任務管理器中的Outlook過程。如何檢測用戶是否正在訪問我已啓動的Outlook進程?
我的問題是,當用戶也與Outlook交互。特別是,如果用戶打開Outlook,當我的程序關閉時,我的程序也會關閉該用戶的Outlook程序。在觀察任務管理器的同時,嘗試手動和使用我的程序來打開Outlook,似乎只有一個Outlook實例可以同時運行,並且用戶和我的程序都可以訪問同一個實例,所以當我從我的程序關閉前景,我也關閉了用戶的程序。
奇怪的是,情況並非如此。如果用戶關閉Outlook,當我的程序運行時,他的窗口將消失,但Outlook過程不會關閉,我的程序仍然可以繼續。就好像該窗口只是Outlook過程的客戶端,儘管沒有單獨的窗口過程。有沒有辦法讓我看到,如果我的程序是唯一使用Outlook進程的程序,或者打開了任何「用戶窗口客戶端」,那麼我可以避免在關閉前臺時關閉它?
不知道C#,但你會創建Outlook對象在那裏,說有什麼「開始了一個新的面貌與PID XXX 「或」附加到現有的前景...「? – 2011-02-25 17:16:50
你有沒有考慮過讓Outlook打開?總的來說,Outlook的使用行爲是人們通常無論如何整天都在運行。 – NotMe 2011-03-15 15:40:14
@馬克乙:謝謝,但我沒有找到那樣的事情。但是,我發現了另一個解決方案,所以沒問題。 – Boris 2011-03-15 16:03:22