From an .exe I want to start a new SolidWorks process in background.
I try CreateProcess and ShellExecute as below but all the time SolidWorks start-up screen appears, if another session of SolidWorks already is running the journal warning is generated and the main window is display. I try to avoid all these, in that way all the process to be complete silent from the user side.
Using COM CoCreateInstance is not an option, because the newly created SolidWorks session must be complete with all add-ins loaded and activated, as a normal SolidWorks session. Also using C++ is critical.
let's start from the end. You cannot start a Solidworks session without its main window (CREATE_NO_WINDOW) , so the right choose is use COM with ISldWorks::put_UserControlBackground() and /or ISldWorks::put_Visible() functions. This approach have no effects on addins loading, so if the addins "load flag" in the registry are true, they will be load as normal session.