如何: 提供 Windows 的自動化
您可以提供自動化的文件和工具視窗。 提供自動化是建議的只要您想要在視窗中,使用 automation 物件,且環境已經也不會提供一種現成的自動化物件,,但工作清單。
自動化工具視窗
此環境提供工具視窗上自動化,藉由傳回一種標準Window物件,如下列程序所述:
提供自動化的工具視窗
呼叫GetProperty環境中,以透過方法VSFPROPID_ExtWindowObject與VSFPROPID參數,以取得Window物件。
當呼叫端要求的工具視窗,透過 VSPackage 專屬自動化物件Object,環境呼叫QueryInterface的IExtensibleObject, IVsExtensibleObject,或IDispatch介面。 Both IExtensibleObject and IVsExtensibleObject provide a GetAutomationObject method.
接著再呼叫環境GetAutomationObject方法傳遞NULL,回應傳送回 VSPackage 特定物件。
如果呼叫QueryInterface的IExtensibleObject和IVsExtensibleObject失敗,那麼環境呼叫QueryInterface的IDispatch。
自動化的文件視窗
一種標準Document物件也是可以從環境中,雖然編輯器可以有它自己的實作的T:EnvDTE.Document物件藉由實作IExtensibleObject介面,以及回應GetAutomationObject。
此外,編輯器可以提供特定 VSPackage 的自動化物件,透過擷取Object方法,藉由實作IVsExtensibleObject或IExtensibleObject介面。 Visual Studio 的擴充性範例促成 RTF 文件特定的自動化物件。