Hi i was trying to get handle on two different Design files in C# using Marshal.GetActiveObject by Application class() = new Application but i was able to get handle only on single Design file.
My final out come is to synchronize these two different design files through Get extents and origin point and co-ordinates.
I have used the following code to get handle on different design files. Bentley.Interop.MicroStationDGN.Application app; try { app = (Bentley.Interop.MicroStationDGN.Application)Marshal.GetActiveObject("MicroStationDGN.Application"); } catch { return null; } IntPtr processID = new IntPtr(app.ProcessID); return app;
Please identify the version of MicroStation, or other product such as PowerDraft, that you are using: MicroStation CONNECT or MicroStation V8i.
The APIs supplied with MicroStation CONNECT are different to those supplied with MicroStation V8i. Consequently, our answers are likely to be different.
When you post code, use the Forum advanced editor's syntax highlighting tool. That's the icon that resembles a pencil:
Although you are writing an app. using C#, you are communicating with MicroStation via a COM InterOp. You are therefore constrained by the limitations of COM. One of those limitations is that COM cannot distinguish difference processes of a given executable. That is not a MicroStation issue, but a general problem with COM.
Regards, Jon Summers LA Solutions