2009-06-05 124 views

回答

6

您必須通過COM互操作使用ComAdmin API。

放在Windows \ System32下的\ com \ ComAdmin.dll的引用,則:

COMAdmin.COMAdminCatalog catalog = new COMAdmin.COMAdminCatalogClass(); 
catalog.Connect(servername); 
catalog.ShutdownApplication(AppNameOrAppID); 

你可以在MSDN​​3210的COMADMIN參考。

這是一個COM API,有點奇怪。例如。你不能實例化一個COMAdminCatalog,因爲它是一個接口,而不是一個類,所以你必須使用COMAdminCatalogClass來創建一個新的實例。使用Visual Studio的對象瀏覽器在COMAdmin命名空間中查找以找出這些類型的陷阱。

EDIT(一些注意事項):

其實,你可以寫

COMAdmin.COMAdminCatalog catalog = new COMAdmin.COMAdminCatalog(); 

和它的作品是令人吃驚,因爲COMAdminCatalog是一個接口。但必須VStudio的伎倆或C#編譯器,因爲所得到的組件包含以下IL:

newobj instance void [Interop.COMAdmin]COMAdmin.COMAdminCatalogClass::.ctor() 

所以它在某種程度上發現該COMAdminCatalogClass必須被實例化,這也真奇怪,有點混亂太。如果有人知道如何發生,請評論。

+0

優秀的答案。感謝您爲我提供所需的所有信息,以便隨時隨地處理。 – 2009-06-05 10:03:25

相關問題