I have the following situation: my application, a service, instantiates a DCOM server (exe) using CoInitialize and CreateInstance in order to get its interface pointer, it is working fine on XP but since this server creates a GUI it doesn't work on Windows 7 because a service (session 0) doesn't have permission to access the user's screen.
So, my question is how can I change my code to start the COM server as the logged user?
I was thinking on instead using CreateInstance I could use CreateProcessAsUser to start the DCOM server as the logged user, but I have no idea how I could get the interface pointer from the created process. Do you have any idea? Thanks!