COM objects (like forms) expose an interface to the client. - It is mapped into the client process memory space. And it is just the interface (vtable). In theory, I suppose, you could use QueryVirtualEx or some other api function to read memory from the other process until you found the interface (vtable), then try to make calls to it.

But you wouldn't be able to make any calls to it, unless you could find a way to modify the user stack for the other process.

That's abstract theory. Practice is: no way in hell. Code like Form1.Left=100 in VB just isn't going to work from an external process.

Just use the hWnd to SendMessage to the form. Sorry.

Short answer: no way