如何在運行使用它們的操作之前檢查COM對象是否存在(已註冊/可用/可以無問題地運行)?C#在執行某些操作之前檢查COM對象是否可用
我的應用程序應該使用其他應用程序的COM(InteropServices),但在我開始一些行動之前,我想檢查我是否可以創建COM對象。
如果COM在同一個目錄中,但它們不在,它就會成爲一個問題。
在示例中。 我想檢查,如果某事像這樣:
CDNBase.ApplicationClass App = new CDNBase.ApplicationClass();
會導致開捕異常或東西。比我可以創建漂亮的MessageBox並阻止一些事件,直到它將被修復。 任何其他解決方案,如檢查命名空間是否存在或某物,也是好的(我猜:D)
我試圖使用try/catch,但它失敗,谷歌沒有帶給我什麼特別的,所以即時要求你的幫助。
在此先感謝
是的,但不能在相同的方法中捕獲異常。它以其他方式工作: 在buttonClickMethod(或其他地方,我開始這段代碼),我有: this.runSynch(); ()){ CDNBase ... App = new CDNBase ... //(其餘代碼...) } 並在buttonClickMethod我有: 嘗試{runSynch} catch(FileNotFoundException ex){msgBox ..所以它的工作原理是:我想讓它工作;) 乾杯 – cichy 2010-01-30 10:27:30
這種方法本身很容易出錯:您需要處理32/64位差異(例如安裝32位COM對象,但這是一個64位進程)。流程實施如何?僅僅因爲密鑰存在並不意味着實現文件存在,或者進程有權訪問它。 – Richard 2010-01-30 10:34:07
是的,不要這樣做。 – 2010-01-30 10:35:44