Have a look at the
CreateProcessAsUser function [
^]
A good google search to use to find other solutions is "c++ run process as administrator" - as there are a variety of ways this could be achieved.
To get around this at our site we set up shares on network servers with restricted permissions where the user can create a file but cannot subsequently change or delete it