我目前正在使用COM自動化應用程序,並且如果在應用程序運行時原始應用程序已經打開,任何使用我的應用程序的人都有問題。我知道如何確定流程是否開放,但不必擔心關閉流程或解決流程等問題,我想嘗試使用現有的應用程序,而不是打開新的應用程序。通過Windows進程句柄訪問COM對象
這是我常在我的自動化程序啓動應用程序:
Designer.Application desApp = new Designer.Application();
現在我試圖嘗試從現有的應用程序中使用手柄:
Designer.Application desApp = (Designer.Application)((System.Diagnostics.Process.GetProcessesByName("Designer.exe")[0]).Handle)
(我知道這是行不通的,因爲.Handle
返回一個IntPtr
,但我用它作爲例子。)
有什麼方法可以完成這個?如果我知道句柄/過程,如何返回可用對象?