以编程方式启动EA

我想通过Windows服务打开一个EA会话,并在幕后做一些动作。
我使用Repository API,但是,不知道如何正确初始化它。

EA.Repository repository = ?; repository.OpenFile(@"C:\test.eap"); repository.Exit(); 

有任何想法吗?

下面的代码示例演示了如何打开EA COM对象并打开EA项目文件,然后获取项目模型列表

 // connect to EA COM object EA.Repository _repository = new EA.RepositoryClass(); // Open EA project file bool fileOpened = _repository.OpenFile(filePath); if(fileOpened) Collection models = _repository.Models; // collection of models inside of opened project 

添加对Interop.EA.dll的引用并使用

 EA.Repository repository = new EA.RepositoryClass(); 

打开正在运行的实例使用(C ++示例)

 CLSID clsid; CLSIDFromProgID(L"EA.App", &clsid); IUnknown *pUnk = NULL; IDispatch *pDisp = NULL; HRESULT hr = GetActiveObject(clsid, NULL, (IUnknown**)&pUnk); if(SUCCEEDED(hr)) { hr = pUnk->QueryInterface(IID_IDispatch, (void **)&pDisp); }