Windows Forms application like Google Chrome with multiple processes

You can use the SetParent Win32 call to do this, but it’s really fraught with problems. I had enough troubles getting it all to work nicely using windows from different AppDomains – there’d be even more difficulties with whole extra processes.

Basically there’s potentially a lot of communication required between the two processes – things like resizing can become quite painful, as well as what happens if the child app wants to quit etc. It’s all doable, but I’d think very carefully before doing it. For a browser it makes a lot of sense (disclaimer: I work for Google) but for most other apps it’s really not worth the effort.

(Are the “tabs” you want to create actual .NET apps? If so, as I say this becomes significantly easier – and I can give you a big hint which is that each UI should run its own UI thread from within its own AppDomain. You get really weird effects if you don’t do this!)

Leave a Comment